public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
* [PATCH 1/5] frr: Update to version 9.1
@ 2024-01-24 21:09 Adolf Belka
  2024-01-24 21:09 ` [PATCH 2/5] libyang: Update to version 2.1.148 Adolf Belka
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Adolf Belka @ 2024-01-24 21:09 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 16303 bytes --]

- Update from version 8.5.2 to 9.1
- Update of rootfile
- Build dependencies of frr now include protobuf-c. protobuf-c requires protobuf.
   protobuf requires abseil-cpp.
- Build dependency of libyang will have a minimum version requirement of 2.1.128 coming
   out of an issue. Minimum version for frr-9.1 is 2.1.80 but excluding 2.1.111 due to
   API issues. Based on the near future requirement being 2.1.128 will move to current
   latest version of 2.1.148
- This patch set includes the above build dependencies
- Changelog
    9.1
	FRR 9.1 brings a long list of enhancements and fixes with 941 commits from 73
	 developers.
	OSPFv2 HMAC-SHA Cryptographic Authentication
		Specify that HMAC cryptographic authentication must be used on a
		 specific interface using a key chain.
	BGP MAC-VRF Site-Of-Origin support
		In some EVPN deployments, it is useful to associate a logical VTEP’s
		 Layer 2 domain (MAC-VRF) with a Site-of-Origin “site” identifier. This
		 provides a BGP topology-independent means of marking and
		 import-filtering EVPN routes originating from a particular L2 domain.
		 One situation where this is valuable is when deploying EVPN using
		 anycast VTEPs, i.e. Active/Active MLAG, as it can be used to avoid
		 ownership conflicts between the two control planes (EVPN vs MLAG).
	BGP Dynamic capability support
		Added support for Graceful-Restart, Long-lived Graceful-Restart,
		 Software-version, and Role BGP capabilities to be adjusted dynamically
		 using BGP dynamic capability.
		Dynamic BGP capability allows the dynamic update of capabilities over an
		 established BGP session. This capability would facilitate
		 non-disruptive capability changes by BGP speakers.
	IS-IS SRv6 uSID support (RFC 9352)
		The Segment Routing (SR) architecture allows a flexible definition of
		 the end-to-end path by encoding it as a sequence of topological
		 elements called "segments". It can be implemented over the MPLS or the
		 IPv6 data plane. This feature enables extensions in IS-IS to support
		 Segment Routing over the IPv6 data plane (SRv6) as per RFC 9352.
	Next-hop resolution via the default route
		Changed the default for a traditional profile to be enabled. The
		 datacenter profile is left as disabled.
	Add support for VLAN, ECN, DSCP mangling/filtering
		PBR maps are a way to specify a set of rules that are applied to packets
		 received on individual interfaces. If a received packet matches a rule,
		 the rule’s next-hop-group or next-hop is used to forward it; any other
		 actions specified in the rule are also applied to the packet.
		With this change, we added more commands for PBR maps, like matching
		 src-ip, dst-ip, src-port, dst-port, vlan, dscp, ecn, and more.
	libyang 2.1.80 related breaking changes
		prefix-list matching in route-maps is fundamentally broken with
		 libyang 2.1.111. If you have this version, please downgrade to the most
		 stable version 2.1.80.
		More details CESNET/libyang#2090
	Other significant changes
	    Zebra support for route replace semantics in FPM link
	    New command for BGP neighbor x addpath-tx-best-selected link
	    New command for BGP mpls bgp l3vpn-multi-domain-switching link
	    A couple more new BGP route-map commands:
	        set as-path exclude all link
	        set as-path exclude as-path-access-list link
	        set extended-comm-list delete link
	        set as-path replace <any|ASN> [<ASN>] link
	        set as-path replace as-path-access-list WORD [<ASN>] link
	        match community-list X any UPDATE
	Deprecations
	    Deprecate pre-standard outbound route filtering capability
	    Deprecate pre-standard route refresh capability
	    Drop deprecated capability
	A complete log of changes can be found by browsing the commit history of the
	 FRR 9.1 tag
    9.0.2
	Fixed CVE-2023-47235
		More details: https://frrouting.org/security/cve-2023-47235
	Bug Fixes
	bgpd
	    Fix aggregate-address summary-only suppressed export to EVPN
	    Allow using attribute number 255 for path attr discard/withdraw cmds
	    Check mandatory attributes more carefully for the UPDATE message
	    Do not suppress conditional advertisement updates if triggered
	    Fix Extended community memory leak
	    Fix the no set as-path prepend command
	    Fix heap-use-after-free for bgp_best_selection()
	    Fix crash in SNMP BGP4V2-MIB bgpv2PeerErrorsTable()
	    Fix clear bgp ipv6 unicast ... command
	    Flush attributes only if we don't have to announce a conditional route
	     (avoid use-after-free)
	    Free memory for SRv6 functions and locator chunks
	    Handle MP_UNREACH_NLRI malformed packets with session reset
	    Ignore handling NLRIs if we received the MP_UNREACH_NLRI attribute
	    Initialise timebuf arrays to zeros for dampening reuse timer
	    Initialise buffer in bgp_notify_admin_message() before using it
	    LTTng add EVPN route trace events
	    Make sure dampening is enabled for the specified AFI/SAFI
	    Use proper AFI when dumping information for dampening stuff
	    Treat the AS4-PATH attribute as withdrawn if malformed
	    Treat PMSI tunnel attribute as withdrawn if malformed
	    Treat EOR as withdrawn to avoid unwanted handling of malformed attrs
	eigrpd
	    Use the correct memory pool on interface deletion
	mgmtd
	    Change mgmtd_vty_port to 2623
	    Fix crash on show mgmtd datastore-contents
	ospf6d
	    Fix setting of the forwarding address in as-external LSAs
	    Set loopback interface cost to 0
	ospfd
	    Fixing infinite loop when listing OSPF interfaces
	pathd
	    Add no msd command
	    Add no pcep command
	pbrd
	    Fix show pbr map detail json command
	    Free memory in pbr_map_delete()
	pim6d
	    Fix valgrind issues
	pimd
	    Fix missing pimreg interface
	tools
	    Fix the frr-reload interface description command
	    Fix the frr-reload route-map description command
	    Make --quiet actually suppress output
	vtysh
	    Fix entering configuration node in file-lock mode
	    Fix configure terminal argument descriptions
	    Fix working in file-lock mode
	    Fix show route map json output
	zebra
	    Add encap type when building packet for FPM
	    Display ptmStatus order in interface JSON
	    Fix connected route deletion when multiple entry exists
	    Fix FPM multipath encap addition
	    Fix link update for veth interfaces
	    Fix zebra crash when replacing nhe during shutdown
	    Prevent null pointer dereference
    9.0.1
	Bug Fixes
	bgpd
	    Add peers back to peer hash when peer_xfer_conn fails
	    Check the length of the rcv software version
	    Do not explicitly print maxttl value for ebgp-multihop vty output
	    Do not process nlris if the attribute length is zero
	    Don't read the first byte of orf header if we are ahead of stream
	    Evpn code was not properly unlocking rd_dest
	    Fix show bgp all rpki notfound
	    Make sure we have enough data to read two bytes when validating aigp
	    Use treat-as-withdraw for tunnel encapsulation attribute
	zebra
	    Fix evpn nexthop config order
	lib
	    Allow unsetting walltime-warning and cpu-warning
	ospfd
	    Prevent use after free( and crash of ospf ) when no router ospf
	pimd
	    Prevent crash when receiving register message when the rp() is unknown
	    When receiving a packet be more careful with length in pim_pim_packet
	vtysh
	    Print uniq lines when parsing no service ...
    8.5.4
Fixed CVE-2023-47235
	More details: https://frrouting.org/security/cve-2023-47235
	Bug Fixes
	bgpd
	    Check mandatory attributes more carefully for the UPDATE message
	    Do not suppress conditional advertisement updates if triggered
	    Fix crash in SNMP BGP4V2-MIB bgpv2PeerErrorsTable()
	    Handle MP_UNREACH_NLRI malformed packets with session reset
	    Ignore handling NLRIs if we received the MP_UNREACH_NLRI attribute
	    Initialise timebuf arrays to zeros for dampening reuse timer
	    Initialise buffer in bgp_notify_admin_message() before using it
	    Make sure dampening is enabled for the specified AFI/SAFI
	    Use proper AFI when dumping information for dampening stuff
	    Treat EOR as withdrawn to avoid unwanted handling of malformed attrs
	eigrpd
	    Use the correct memory pool on interface deletion
	vtysh
	    Fix show route map JSON output
	ospfd
	    Fix infinite loop when listing OSPF interfaces
	pbrd
	    Fix show pbr map detail json output
	zebra
	    Add encap type when building packet for FPM
	    Display ptmStatus order in interface JSON
	    Fix connected route deletion when multiple entry exists
	    Fix FPM multipath encap addition
	    Fix link update for veth interfaces
	    Fix zebra crash when replacing nhe during shutdown
	    Prevent null pointer dereference
    8.5.3
	Bug Fixes
	bgpd
	    Add peers back to peer hash when peer_xfer_conn fails
	    Do not explicitly print maxttl value for ebgp-multihop vty output
	    Do not process nlris if the attribute length is zero
	    Do not try to redistribute routes if we are shutting down
	    Don't read the first byte of orf header if we are ahead of stream
	    Evpn code was not properly unlocking rd_dest
	    Fix show bgp all rpki notfound
	    Fix session reset issue caused by malformed core attributes
	    Free bgp vpn policy
	    Free previously dup'ed aspath attribute for aggregate routes
	    Free temporary memory after using argv_concat()
	    Intern attributes before putting into rib-out
	    Make sure we have enough data to read two bytes when validating aigp
	    Prevent use after free
	    Rfapi memleak fixes, clean ce tables at exit
	    Unlock dest if we return earlier for aggregate install
	    Use treat-as-withdraw for tunnel encapsulation attribute
	zebra
	    Fix evpn nexthop config order
	    Abstract dplane_ctx_route_init to init route without copying
	    Fix crash when dplane_fpm_nl fails to process received routes
	    Further handle route replace semantics
	    Fix command ipv6 nht xxx
	lib
	    Allow unsetting walltime-warning and cpu-warning
	    Skip route-map optimization if !af_inet(6)
	    Use max_bitlen instead of magic number
	ospf6d
	    Fix crash because neighbor structure was freed
	    Stop crash in ospf6_write
	ospfd
	    Check for nulls in vty code
	    Prevent use after free( and crash of ospf ) when no router ospf
	pbrd
	    Fix crash with match command
	pimd
	    Prevent crash when receiving register message when the rp() is unknown
	    When receiving a packet be more careful with length in pim_pim_packet
	ripd, ripngd
	    Revert "Cleanup memory allocations on shutdown"
	tools
	    Add what frr thinks as the fib routes for support_bundle
	vtysh
	    Print uniq lines when parsing no service ...

Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
 config/rootfiles/packages/frr | 28 ++++++++++++++++++++++++++--
 lfs/frr                       |  8 ++++----
 2 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/config/rootfiles/packages/frr b/config/rootfiles/packages/frr
index 092460ff6..92b31ffe9 100644
--- a/config/rootfiles/packages/frr
+++ b/config/rootfiles/packages/frr
@@ -1,7 +1,10 @@
 etc/rc.d/init.d/frr
 usr/bin/vtysh
 #usr/include/frr
+#usr/include/frr/admin_group.h
+#usr/include/frr/affinitymap.h
 #usr/include/frr/agg_table.h
+#usr/include/frr/asn.h
 #usr/include/frr/assert.h
 #usr/include/frr/atomlist.h
 #usr/include/frr/base64.h
@@ -17,6 +20,7 @@ usr/bin/vtysh
 #usr/include/frr/compiler.h
 #usr/include/frr/cspf.h
 #usr/include/frr/csv.h
+#usr/include/frr/darr.h
 #usr/include/frr/db.h
 #usr/include/frr/debug.h
 #usr/include/frr/defaults.h
@@ -27,14 +31,15 @@ usr/bin/vtysh
 #usr/include/frr/eigrpd/eigrpd.h
 #usr/include/frr/ferr.h
 #usr/include/frr/filter.h
+#usr/include/frr/flex_algo.h
 #usr/include/frr/freebsd-queue.h
 #usr/include/frr/frr_pthread.h
 #usr/include/frr/frratomic.h
 #usr/include/frr/frrcu.h
+#usr/include/frr/frrevent.h
 #usr/include/frr/frrlua.h
 #usr/include/frr/frrscript.h
 #usr/include/frr/frrstr.h
-#usr/include/frr/getopt.h
 #usr/include/frr/graph.h
 #usr/include/frr/hash.h
 #usr/include/frr/hook.h
@@ -44,6 +49,7 @@ usr/bin/vtysh
 #usr/include/frr/if_rmap.h
 #usr/include/frr/imsg.h
 #usr/include/frr/ipaddr.h
+#usr/include/frr/iso.h
 #usr/include/frr/jhash.h
 #usr/include/frr/json.h
 #usr/include/frr/keychain.h
@@ -59,6 +65,13 @@ usr/bin/vtysh
 #usr/include/frr/log_vty.h
 #usr/include/frr/md5.h
 #usr/include/frr/memory.h
+#usr/include/frr/mgmt.pb-c.h
+#usr/include/frr/mgmt_be_client.h
+#usr/include/frr/mgmt_fe_client.h
+#usr/include/frr/mgmt_msg.h
+#usr/include/frr/mgmt_pb.h
+#usr/include/frr/mgmtd
+#usr/include/frr/mgmtd/mgmt_defines.h
 #usr/include/frr/mlag.h
 #usr/include/frr/module.h
 #usr/include/frr/monotime.h
@@ -101,6 +114,7 @@ usr/bin/vtysh
 #usr/include/frr/routemap.h
 #usr/include/frr/routing_nb.h
 #usr/include/frr/sbuf.h
+#usr/include/frr/segment_routing.h
 #usr/include/frr/seqlock.h
 #usr/include/frr/sha256.h
 #usr/include/frr/sigevent.h
@@ -117,7 +131,6 @@ usr/bin/vtysh
 #usr/include/frr/table.h
 #usr/include/frr/tc.h
 #usr/include/frr/termtable.h
-#usr/include/frr/thread.h
 #usr/include/frr/trace.h
 #usr/include/frr/typerb.h
 #usr/include/frr/typesafe.h
@@ -154,10 +167,18 @@ usr/bin/vtysh
 #usr/lib/libfrr.so
 usr/lib/libfrr.so.0
 usr/lib/libfrr.so.0.0.0
+#usr/lib/libfrr_pb.la
+#usr/lib/libfrr_pb.so
+usr/lib/libfrr_pb.so.0
+usr/lib/libfrr_pb.so.0.0.0
 #usr/lib/libfrrcares.la
 #usr/lib/libfrrcares.so
 usr/lib/libfrrcares.so.0
 usr/lib/libfrrcares.so.0.0.0
+#usr/lib/libmgmt_be_nb.la
+#usr/lib/libmgmt_be_nb.so
+usr/lib/libmgmt_be_nb.so.0
+usr/lib/libmgmt_be_nb.so.0.0.0
 usr/sbin/bgpd
 usr/sbin/fabricd
 usr/sbin/frr
@@ -167,6 +188,7 @@ usr/sbin/frr_babeltrace.py
 usr/sbin/frrcommon.sh
 usr/sbin/frrinit.sh
 usr/sbin/generate_support_bundle.py
+usr/sbin/mgmtd
 usr/sbin/ospfd
 usr/sbin/pathd
 usr/sbin/pim6d
@@ -176,6 +198,7 @@ usr/sbin/vrrpd
 usr/sbin/watchfrr
 usr/sbin/watchfrr.sh
 usr/sbin/zebra
+#usr/share/yang/frr-affinity-map.yang
 #usr/share/yang/frr-bgp-bmp.yang
 #usr/share/yang/frr-bgp-common-multiprotocol.yang
 #usr/share/yang/frr-bgp-common-structure.yang
@@ -189,6 +212,7 @@ usr/sbin/zebra
 #usr/share/yang/frr-bgp.yang
 #usr/share/yang/frr-deviations-bgp-datacenter.yang
 #usr/share/yang/frr-filter.yang
+#usr/share/yang/frr-if-rmap.yang
 #usr/share/yang/frr-interface.yang
 #usr/share/yang/frr-module-translator.yang
 #usr/share/yang/frr-nexthop.yang
diff --git a/lfs/frr b/lfs/frr
index e61df8421..a1555af64 100644
--- a/lfs/frr
+++ b/lfs/frr
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2023  IPFire Team  <info(a)ipfire.org>                     #
+# Copyright (C) 2007-2024  IPFire Team  <info(a)ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -26,7 +26,7 @@ include Config
 
 SUMMARY    = FRRouting Routing daemon
 
-VER        = 8.5.2
+VER        = 9.1
 
 THISAPP    = frr-frr-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -34,7 +34,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = frr
-PAK_VER    = 6
+PAK_VER    = 7
 
 DEPS       = elfutils
 
@@ -50,7 +50,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 2e2aca4e42757f66c9ca4725826c6cc1d611930490eed2a175ca5b56910f2c09a9d842b2a9370a64a9fdac6a6314bd4573be609d14dbf956049d9fbf49310404
+$(DL_FILE)_BLAKE2 = ba64f9455c38441f8cadce4eed435fb86344244e98bd1b675335887fb098be29adc035d722d3c128e136a4c6b0aa1adcbdc0e22815702e52170da940a5caf20a
 
 install : $(TARGET)
 
-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/5] libyang: Update to version 2.1.148
  2024-01-24 21:09 [PATCH 1/5] frr: Update to version 9.1 Adolf Belka
@ 2024-01-24 21:09 ` Adolf Belka
  2024-01-24 21:09 ` [PATCH 3/5] protobuf-c: New build dependency for frr Adolf Belka
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Adolf Belka @ 2024-01-24 21:09 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 3993 bytes --]

- Update from version 2.1.4 to 2.1.148
- Update of rootfile
- Minimum version of 2.1.128 will be required in a future frr release and currently needs
   to be a minimum of 2.1.80 but not 2.1.111
- Changelog
    2.1.148
	Main changes of this release are:
	    lots of bugfixes and improvements in various parts of the library
    2.1.128
	Main changes of this release are:
	    revert of identityref canonical value change
	        the identity always printed with the module name as the prefix
	    data tree and hash table optimizations
	    opaque node handling fixes and improvements
	    lots of other bug fixes
    2.1.111
	Main changes of this release are:
	    opaque node parsing improved
	    native RESTCONF operation parsing support
	    union value error reporting improved
	    new yanglint and yangre tests
	    optional support for leafref with XPath functions
	    lots of other fixes and improvements
    2.1.80
	Main changes of this release are:
	    RESTCONF message parsing
	    JSON parser refactor
	    timezone DST handling
	    public hash table API
	    stored union value bugfix
	    many other clarifications, improvements, and bugfixes
    2.1.55
	Main changes of this release are:
	    type compilation fixes
	    multi-error validation support
	    JSON parser fixes
	    portability improvements
	    schema-mount support improvements
	    minor optimizations
	    other minor fixes
    2.1.30
	Main changes of this release are:
	    many JSON printer/parser fixes and improvements
	    unintentionally large library size reduced
	    thread safety improvements
	    big-endian compatibility fix
	    uncrustify updated
	    lots of other fixes and improvements

Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
 config/rootfiles/common/libyang | 3 ++-
 lfs/libyang                     | 6 +++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/config/rootfiles/common/libyang b/config/rootfiles/common/libyang
index b0dd54cda..f06340422 100644
--- a/config/rootfiles/common/libyang
+++ b/config/rootfiles/common/libyang
@@ -4,6 +4,7 @@
 #usr/include/libyang/config.h
 #usr/include/libyang/context.h
 #usr/include/libyang/dict.h
+#usr/include/libyang/hash_table.h
 #usr/include/libyang/in.h
 #usr/include/libyang/libyang.h
 #usr/include/libyang/log.h
@@ -24,7 +25,7 @@
 #usr/include/libyang/version.h
 #usr/lib/libyang.so
 usr/lib/libyang.so.2
-usr/lib/libyang.so.2.25.4
+usr/lib/libyang.so.2.46.3
 #usr/lib/pkgconfig/libyang.pc
 #usr/share/man/man1/yanglint.1
 #usr/share/man/man1/yangre.1
diff --git a/lfs/libyang b/lfs/libyang
index ae807fa8a..49163a44d 100644
--- a/lfs/libyang
+++ b/lfs/libyang
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2022  IPFire Team  <info(a)ipfire.org>                     #
+# Copyright (C) 2007-2024  IPFire Team  <info(a)ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.1.4
+VER        = 2.1.148
 
 THISAPP    = libyang-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 0322d5c9003b4ae49a91da981c3c7063ebc783c1ddc964b9ec89a1f75f512fadda1664a8e2add63a81ed694bd10dda1fcdc70f7a31cc947b2835d210e8e454f5
+$(DL_FILE)_BLAKE2 = e955958319a4ad8c241720c3a425ab2a298916b8ba34e91ff2b43bafaae65fb0d41c904af894d3c5025ab253a40cb6f4732137b195169785628f6cedeb054acb
 
 install : $(TARGET)
 
-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 3/5] protobuf-c: New build dependency for frr
  2024-01-24 21:09 [PATCH 1/5] frr: Update to version 9.1 Adolf Belka
  2024-01-24 21:09 ` [PATCH 2/5] libyang: Update to version 2.1.148 Adolf Belka
@ 2024-01-24 21:09 ` Adolf Belka
  2024-01-24 21:09 ` [PATCH 4/5] protobuf: New build dependency for protobuf-c Adolf Belka
  2024-01-24 21:09 ` [PATCH 5/5] abseil-cpp: New build dependency for protobuf Adolf Belka
  3 siblings, 0 replies; 5+ messages in thread
From: Adolf Belka @ 2024-01-24 21:09 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 4891 bytes --]

Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
 config/rootfiles/common/protobuf-c | 13 +++++
 lfs/protobuf-c                     | 78 ++++++++++++++++++++++++++++++
 make.sh                            |  1 +
 3 files changed, 92 insertions(+)
 create mode 100644 config/rootfiles/common/protobuf-c
 create mode 100644 lfs/protobuf-c
 mode change 100755 => 100644 make.sh

diff --git a/config/rootfiles/common/protobuf-c b/config/rootfiles/common/protobuf-c
new file mode 100644
index 000000000..56e6a2362
--- /dev/null
+++ b/config/rootfiles/common/protobuf-c
@@ -0,0 +1,13 @@
+#usr/bin/protoc-c
+#usr/bin/protoc-gen-c
+#usr/include/google/protobuf-c
+#usr/include/google/protobuf-c/protobuf-c.h
+#usr/include/protobuf-c
+#usr/include/protobuf-c/protobuf-c.h
+#usr/include/protobuf-c/protobuf-c.proto
+#usr/lib/libprotobuf-c.a
+#usr/lib/libprotobuf-c.la
+#usr/lib/libprotobuf-c.so
+#usr/lib/libprotobuf-c.so.1
+#usr/lib/libprotobuf-c.so.1.0.0
+#usr/lib/pkgconfig/libprotobuf-c.pc
diff --git a/lfs/protobuf-c b/lfs/protobuf-c
new file mode 100644
index 000000000..2c3128f35
--- /dev/null
+++ b/lfs/protobuf-c
@@ -0,0 +1,78 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2024  IPFire Team  <info(a)ipfire.org>                     #
+#                                                                             #
+# 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 <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.5.0
+
+THISAPP    = protobuf-c-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 7b428655901f4fd74b67b75419552e7c02065a5291aed4dcc1d55b98c986caa9ccf846eb5e98e0954420c3e5bea559b0078843e00daa7b5c63465eec21e28204
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+	@$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && ./configure \
+		--prefix=/usr
+	cd $(DIR_APP) && make $(MAKETUNING)
+	cd $(DIR_APP) && make install
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
old mode 100755
new mode 100644
index 7877a642c..183d4a535
--- a/make.sh
+++ b/make.sh
@@ -1648,6 +1648,7 @@ buildipfire() {
   lfsmake2 dnsdist
   lfsmake2 bird
   lfsmake2 libyang
+  lfsmake2 protobuf-c
   lfsmake2 frr
   lfsmake2 dmidecode
   lfsmake2 mcelog
-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 4/5] protobuf: New build dependency for protobuf-c
  2024-01-24 21:09 [PATCH 1/5] frr: Update to version 9.1 Adolf Belka
  2024-01-24 21:09 ` [PATCH 2/5] libyang: Update to version 2.1.148 Adolf Belka
  2024-01-24 21:09 ` [PATCH 3/5] protobuf-c: New build dependency for frr Adolf Belka
@ 2024-01-24 21:09 ` Adolf Belka
  2024-01-24 21:09 ` [PATCH 5/5] abseil-cpp: New build dependency for protobuf Adolf Belka
  3 siblings, 0 replies; 5+ messages in thread
From: Adolf Belka @ 2024-01-24 21:09 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 19645 bytes --]

- protobuf required for protobuf-c which is new build dependency for frr

Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
 config/rootfiles/common/protobuf | 288 +++++++++++++++++++++++++++++++
 lfs/protobuf                     |  81 +++++++++
 make.sh                          |   1 +
 3 files changed, 370 insertions(+)
 create mode 100644 config/rootfiles/common/protobuf
 create mode 100644 lfs/protobuf

diff --git a/config/rootfiles/common/protobuf b/config/rootfiles/common/protobuf
new file mode 100644
index 000000000..d3aa47718
--- /dev/null
+++ b/config/rootfiles/common/protobuf
@@ -0,0 +1,288 @@
+#usr/bin/protoc
+#usr/bin/protoc-25.2.0
+#usr/include/google
+#usr/include/google/protobuf
+#usr/include/google/protobuf/any.h
+#usr/include/google/protobuf/any.pb.h
+#usr/include/google/protobuf/any.proto
+#usr/include/google/protobuf/api.pb.h
+#usr/include/google/protobuf/api.proto
+#usr/include/google/protobuf/arena.h
+#usr/include/google/protobuf/arena_align.h
+#usr/include/google/protobuf/arena_allocation_policy.h
+#usr/include/google/protobuf/arena_cleanup.h
+#usr/include/google/protobuf/arenastring.h
+#usr/include/google/protobuf/arenaz_sampler.h
+#usr/include/google/protobuf/compiler
+#usr/include/google/protobuf/compiler/allowlists
+#usr/include/google/protobuf/compiler/allowlists/allowlist.h
+#usr/include/google/protobuf/compiler/allowlists/allowlists.h
+#usr/include/google/protobuf/compiler/code_generator.h
+#usr/include/google/protobuf/compiler/command_line_interface.h
+#usr/include/google/protobuf/compiler/cpp
+#usr/include/google/protobuf/compiler/cpp/enum.h
+#usr/include/google/protobuf/compiler/cpp/extension.h
+#usr/include/google/protobuf/compiler/cpp/field.h
+#usr/include/google/protobuf/compiler/cpp/field_generators
+#usr/include/google/protobuf/compiler/cpp/field_generators/generators.h
+#usr/include/google/protobuf/compiler/cpp/file.h
+#usr/include/google/protobuf/compiler/cpp/generator.h
+#usr/include/google/protobuf/compiler/cpp/helpers.h
+#usr/include/google/protobuf/compiler/cpp/message.h
+#usr/include/google/protobuf/compiler/cpp/message_layout_helper.h
+#usr/include/google/protobuf/compiler/cpp/names.h
+#usr/include/google/protobuf/compiler/cpp/options.h
+#usr/include/google/protobuf/compiler/cpp/padding_optimizer.h
+#usr/include/google/protobuf/compiler/cpp/parse_function_generator.h
+#usr/include/google/protobuf/compiler/cpp/service.h
+#usr/include/google/protobuf/compiler/cpp/tracker.h
+#usr/include/google/protobuf/compiler/csharp
+#usr/include/google/protobuf/compiler/csharp/csharp_doc_comment.h
+#usr/include/google/protobuf/compiler/csharp/csharp_enum.h
+#usr/include/google/protobuf/compiler/csharp/csharp_enum_field.h
+#usr/include/google/protobuf/compiler/csharp/csharp_field_base.h
+#usr/include/google/protobuf/compiler/csharp/csharp_generator.h
+#usr/include/google/protobuf/compiler/csharp/csharp_helpers.h
+#usr/include/google/protobuf/compiler/csharp/csharp_map_field.h
+#usr/include/google/protobuf/compiler/csharp/csharp_message.h
+#usr/include/google/protobuf/compiler/csharp/csharp_message_field.h
+#usr/include/google/protobuf/compiler/csharp/csharp_options.h
+#usr/include/google/protobuf/compiler/csharp/csharp_primitive_field.h
+#usr/include/google/protobuf/compiler/csharp/csharp_reflection_class.h
+#usr/include/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h
+#usr/include/google/protobuf/compiler/csharp/csharp_repeated_message_field.h
+#usr/include/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h
+#usr/include/google/protobuf/compiler/csharp/csharp_source_generator_base.h
+#usr/include/google/protobuf/compiler/csharp/csharp_wrapper_field.h
+#usr/include/google/protobuf/compiler/csharp/names.h
+#usr/include/google/protobuf/compiler/importer.h
+#usr/include/google/protobuf/compiler/java
+#usr/include/google/protobuf/compiler/java/context.h
+#usr/include/google/protobuf/compiler/java/doc_comment.h
+#usr/include/google/protobuf/compiler/java/enum.h
+#usr/include/google/protobuf/compiler/java/enum_field.h
+#usr/include/google/protobuf/compiler/java/enum_field_lite.h
+#usr/include/google/protobuf/compiler/java/enum_lite.h
+#usr/include/google/protobuf/compiler/java/extension.h
+#usr/include/google/protobuf/compiler/java/extension_lite.h
+#usr/include/google/protobuf/compiler/java/field.h
+#usr/include/google/protobuf/compiler/java/file.h
+#usr/include/google/protobuf/compiler/java/generator.h
+#usr/include/google/protobuf/compiler/java/generator_factory.h
+#usr/include/google/protobuf/compiler/java/helpers.h
+#usr/include/google/protobuf/compiler/java/java_features.pb.h
+#usr/include/google/protobuf/compiler/java/kotlin_generator.h
+#usr/include/google/protobuf/compiler/java/map_field.h
+#usr/include/google/protobuf/compiler/java/map_field_lite.h
+#usr/include/google/protobuf/compiler/java/message.h
+#usr/include/google/protobuf/compiler/java/message_builder.h
+#usr/include/google/protobuf/compiler/java/message_builder_lite.h
+#usr/include/google/protobuf/compiler/java/message_field.h
+#usr/include/google/protobuf/compiler/java/message_field_lite.h
+#usr/include/google/protobuf/compiler/java/message_lite.h
+#usr/include/google/protobuf/compiler/java/message_serialization.h
+#usr/include/google/protobuf/compiler/java/name_resolver.h
+#usr/include/google/protobuf/compiler/java/names.h
+#usr/include/google/protobuf/compiler/java/options.h
+#usr/include/google/protobuf/compiler/java/primitive_field.h
+#usr/include/google/protobuf/compiler/java/primitive_field_lite.h
+#usr/include/google/protobuf/compiler/java/service.h
+#usr/include/google/protobuf/compiler/java/shared_code_generator.h
+#usr/include/google/protobuf/compiler/java/string_field.h
+#usr/include/google/protobuf/compiler/java/string_field_lite.h
+#usr/include/google/protobuf/compiler/objectivec
+#usr/include/google/protobuf/compiler/objectivec/enum.h
+#usr/include/google/protobuf/compiler/objectivec/enum_field.h
+#usr/include/google/protobuf/compiler/objectivec/extension.h
+#usr/include/google/protobuf/compiler/objectivec/field.h
+#usr/include/google/protobuf/compiler/objectivec/file.h
+#usr/include/google/protobuf/compiler/objectivec/generator.h
+#usr/include/google/protobuf/compiler/objectivec/helpers.h
+#usr/include/google/protobuf/compiler/objectivec/import_writer.h
+#usr/include/google/protobuf/compiler/objectivec/line_consumer.h
+#usr/include/google/protobuf/compiler/objectivec/map_field.h
+#usr/include/google/protobuf/compiler/objectivec/message.h
+#usr/include/google/protobuf/compiler/objectivec/message_field.h
+#usr/include/google/protobuf/compiler/objectivec/names.h
+#usr/include/google/protobuf/compiler/objectivec/nsobject_methods.h
+#usr/include/google/protobuf/compiler/objectivec/oneof.h
+#usr/include/google/protobuf/compiler/objectivec/options.h
+#usr/include/google/protobuf/compiler/objectivec/primitive_field.h
+#usr/include/google/protobuf/compiler/objectivec/text_format_decode_data.h
+#usr/include/google/protobuf/compiler/parser.h
+#usr/include/google/protobuf/compiler/php
+#usr/include/google/protobuf/compiler/php/names.h
+#usr/include/google/protobuf/compiler/php/php_generator.h
+#usr/include/google/protobuf/compiler/plugin.h
+#usr/include/google/protobuf/compiler/plugin.pb.h
+#usr/include/google/protobuf/compiler/plugin.proto
+#usr/include/google/protobuf/compiler/python
+#usr/include/google/protobuf/compiler/python/generator.h
+#usr/include/google/protobuf/compiler/python/helpers.h
+#usr/include/google/protobuf/compiler/python/pyi_generator.h
+#usr/include/google/protobuf/compiler/retention.h
+#usr/include/google/protobuf/compiler/ruby
+#usr/include/google/protobuf/compiler/ruby/ruby_generator.h
+#usr/include/google/protobuf/compiler/rust
+#usr/include/google/protobuf/compiler/rust/accessors
+#usr/include/google/protobuf/compiler/rust/accessors/accessor_generator.h
+#usr/include/google/protobuf/compiler/rust/accessors/accessors.h
+#usr/include/google/protobuf/compiler/rust/context.h
+#usr/include/google/protobuf/compiler/rust/generator.h
+#usr/include/google/protobuf/compiler/rust/message.h
+#usr/include/google/protobuf/compiler/rust/naming.h
+#usr/include/google/protobuf/compiler/rust/oneof.h
+#usr/include/google/protobuf/compiler/rust/relative_path.h
+#usr/include/google/protobuf/compiler/scc.h
+#usr/include/google/protobuf/compiler/subprocess.h
+#usr/include/google/protobuf/compiler/versions.h
+#usr/include/google/protobuf/compiler/versions_suffix.h
+#usr/include/google/protobuf/compiler/zip_writer.h
+#usr/include/google/protobuf/cpp_edition_defaults.h
+#usr/include/google/protobuf/cpp_features.pb.h
+#usr/include/google/protobuf/cpp_features.proto
+#usr/include/google/protobuf/descriptor.h
+#usr/include/google/protobuf/descriptor.pb.h
+#usr/include/google/protobuf/descriptor.proto
+#usr/include/google/protobuf/descriptor_database.h
+#usr/include/google/protobuf/descriptor_legacy.h
+#usr/include/google/protobuf/descriptor_visitor.h
+#usr/include/google/protobuf/duration.pb.h
+#usr/include/google/protobuf/duration.proto
+#usr/include/google/protobuf/dynamic_message.h
+#usr/include/google/protobuf/empty.pb.h
+#usr/include/google/protobuf/empty.proto
+#usr/include/google/protobuf/endian.h
+#usr/include/google/protobuf/explicitly_constructed.h
+#usr/include/google/protobuf/extension_set.h
+#usr/include/google/protobuf/extension_set_inl.h
+#usr/include/google/protobuf/feature_resolver.h
+#usr/include/google/protobuf/field_access_listener.h
+#usr/include/google/protobuf/field_mask.pb.h
+#usr/include/google/protobuf/field_mask.proto
+#usr/include/google/protobuf/generated_enum_reflection.h
+#usr/include/google/protobuf/generated_enum_util.h
+#usr/include/google/protobuf/generated_message_bases.h
+#usr/include/google/protobuf/generated_message_reflection.h
+#usr/include/google/protobuf/generated_message_tctable_decl.h
+#usr/include/google/protobuf/generated_message_tctable_gen.h
+#usr/include/google/protobuf/generated_message_tctable_impl.h
+#usr/include/google/protobuf/generated_message_util.h
+#usr/include/google/protobuf/has_bits.h
+#usr/include/google/protobuf/implicit_weak_message.h
+#usr/include/google/protobuf/inlined_string_field.h
+#usr/include/google/protobuf/internal_message_util.h
+#usr/include/google/protobuf/internal_visibility.h
+#usr/include/google/protobuf/io
+#usr/include/google/protobuf/io/coded_stream.h
+#usr/include/google/protobuf/io/gzip_stream.h
+#usr/include/google/protobuf/io/io_win32.h
+#usr/include/google/protobuf/io/printer.h
+#usr/include/google/protobuf/io/strtod.h
+#usr/include/google/protobuf/io/tokenizer.h
+#usr/include/google/protobuf/io/zero_copy_sink.h
+#usr/include/google/protobuf/io/zero_copy_stream.h
+#usr/include/google/protobuf/io/zero_copy_stream_impl.h
+#usr/include/google/protobuf/io/zero_copy_stream_impl_lite.h
+#usr/include/google/protobuf/json
+#usr/include/google/protobuf/json/internal
+#usr/include/google/protobuf/json/internal/descriptor_traits.h
+#usr/include/google/protobuf/json/internal/lexer.h
+#usr/include/google/protobuf/json/internal/message_path.h
+#usr/include/google/protobuf/json/internal/parser.h
+#usr/include/google/protobuf/json/internal/parser_traits.h
+#usr/include/google/protobuf/json/internal/unparser.h
+#usr/include/google/protobuf/json/internal/unparser_traits.h
+#usr/include/google/protobuf/json/internal/untyped_message.h
+#usr/include/google/protobuf/json/internal/writer.h
+#usr/include/google/protobuf/json/internal/zero_copy_buffered_stream.h
+#usr/include/google/protobuf/json/json.h
+#usr/include/google/protobuf/map.h
+#usr/include/google/protobuf/map_entry.h
+#usr/include/google/protobuf/map_field.h
+#usr/include/google/protobuf/map_field_inl.h
+#usr/include/google/protobuf/map_field_lite.h
+#usr/include/google/protobuf/map_type_handler.h
+#usr/include/google/protobuf/message.h
+#usr/include/google/protobuf/message_lite.h
+#usr/include/google/protobuf/metadata.h
+#usr/include/google/protobuf/metadata_lite.h
+#usr/include/google/protobuf/parse_context.h
+#usr/include/google/protobuf/port.h
+#usr/include/google/protobuf/port_def.inc
+#usr/include/google/protobuf/port_undef.inc
+#usr/include/google/protobuf/raw_ptr.h
+#usr/include/google/protobuf/reflection.h
+#usr/include/google/protobuf/reflection_internal.h
+#usr/include/google/protobuf/reflection_mode.h
+#usr/include/google/protobuf/reflection_ops.h
+#usr/include/google/protobuf/repeated_field.h
+#usr/include/google/protobuf/repeated_ptr_field.h
+#usr/include/google/protobuf/serial_arena.h
+#usr/include/google/protobuf/service.h
+#usr/include/google/protobuf/source_context.pb.h
+#usr/include/google/protobuf/source_context.proto
+#usr/include/google/protobuf/string_block.h
+#usr/include/google/protobuf/struct.pb.h
+#usr/include/google/protobuf/struct.proto
+#usr/include/google/protobuf/stubs
+#usr/include/google/protobuf/stubs/callback.h
+#usr/include/google/protobuf/stubs/common.h
+#usr/include/google/protobuf/stubs/platform_macros.h
+#usr/include/google/protobuf/stubs/port.h
+#usr/include/google/protobuf/stubs/status_macros.h
+#usr/include/google/protobuf/text_format.h
+#usr/include/google/protobuf/thread_safe_arena.h
+#usr/include/google/protobuf/timestamp.pb.h
+#usr/include/google/protobuf/timestamp.proto
+#usr/include/google/protobuf/type.pb.h
+#usr/include/google/protobuf/type.proto
+#usr/include/google/protobuf/unknown_field_set.h
+#usr/include/google/protobuf/util
+#usr/include/google/protobuf/util/delimited_message_util.h
+#usr/include/google/protobuf/util/field_comparator.h
+#usr/include/google/protobuf/util/field_mask_util.h
+#usr/include/google/protobuf/util/json_util.h
+#usr/include/google/protobuf/util/message_differencer.h
+#usr/include/google/protobuf/util/time_util.h
+#usr/include/google/protobuf/util/type_resolver.h
+#usr/include/google/protobuf/util/type_resolver_util.h
+#usr/include/google/protobuf/varint_shuffle.h
+#usr/include/google/protobuf/wire_format.h
+#usr/include/google/protobuf/wire_format_lite.h
+#usr/include/google/protobuf/wrappers.pb.h
+#usr/include/google/protobuf/wrappers.proto
+#usr/include/java
+#usr/include/java/core
+#usr/include/java/core/src
+#usr/include/java/core/src/main
+#usr/include/java/core/src/main/java
+#usr/include/java/core/src/main/java/com
+#usr/include/java/core/src/main/java/com/google
+#usr/include/java/core/src/main/java/com/google/protobuf
+#usr/include/java/core/src/main/java/com/google/protobuf/java_features.proto
+#usr/include/utf8_range.h
+#usr/include/utf8_validity.h
+#usr/lib/cmake/protobuf
+#usr/lib/cmake/protobuf/protobuf-config-version.cmake
+#usr/lib/cmake/protobuf/protobuf-config.cmake
+#usr/lib/cmake/protobuf/protobuf-generate.cmake
+#usr/lib/cmake/protobuf/protobuf-module.cmake
+#usr/lib/cmake/protobuf/protobuf-options.cmake
+#usr/lib/cmake/protobuf/protobuf-targets-noconfig.cmake
+#usr/lib/cmake/protobuf/protobuf-targets.cmake
+#usr/lib/cmake/utf8_range
+#usr/lib/cmake/utf8_range/utf8_range-config.cmake
+#usr/lib/cmake/utf8_range/utf8_range-targets-noconfig.cmake
+#usr/lib/cmake/utf8_range/utf8_range-targets.cmake
+#usr/lib/libprotobuf-lite.so
+#usr/lib/libprotobuf-lite.so.25.2.0
+#usr/lib/libprotobuf.so
+#usr/lib/libprotobuf.so.25.2.0
+#usr/lib/libprotoc.so
+#usr/lib/libprotoc.so.25.2.0
+#usr/lib/libutf8_range.a
+#usr/lib/libutf8_validity.a
+#usr/lib/pkgconfig/protobuf-lite.pc
+#usr/lib/pkgconfig/protobuf.pc
+#usr/lib/pkgconfig/utf8_range.pc
diff --git a/lfs/protobuf b/lfs/protobuf
new file mode 100644
index 000000000..5258fc192
--- /dev/null
+++ b/lfs/protobuf
@@ -0,0 +1,81 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2024  IPFire Team  <info(a)ipfire.org>                     #
+#                                                                             #
+# 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 <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 25.2
+
+THISAPP    = protobuf-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 1ee7a48d3a481f523ff240c79e8cacb39b6a7e2c671279812cbffd5ce9be595034461fba41f03bed363133118c1b92bd14bcfd8c4e46ac6368e6407a23fb02ea
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+	@$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && cmake . \
+			-D CMAKE_INSTALL_PREFIX=/usr \
+			-D protobuf_BUILD_TESTS=OFF \
+			-D protobuf_BUILD_SHARED_LIBS=ON \
+			-D protobuf_ABSL_PROVIDER=package
+	cd $(DIR_APP) && make $(MAKETUNING)
+	cd $(DIR_APP) && make install
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 183d4a535..9405d497e 100644
--- a/make.sh
+++ b/make.sh
@@ -1648,6 +1648,7 @@ buildipfire() {
   lfsmake2 dnsdist
   lfsmake2 bird
   lfsmake2 libyang
+  lfsmake2 protobuf
   lfsmake2 protobuf-c
   lfsmake2 frr
   lfsmake2 dmidecode
-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 5/5] abseil-cpp: New build dependency for protobuf
  2024-01-24 21:09 [PATCH 1/5] frr: Update to version 9.1 Adolf Belka
                   ` (2 preceding siblings ...)
  2024-01-24 21:09 ` [PATCH 4/5] protobuf: New build dependency for protobuf-c Adolf Belka
@ 2024-01-24 21:09 ` Adolf Belka
  3 siblings, 0 replies; 5+ messages in thread
From: Adolf Belka @ 2024-01-24 21:09 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 46540 bytes --]

- abseil-cpp required to build protobuf which is required for protobuf-c which is new
   build dependency for frr

Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
 config/rootfiles/common/abseil-cpp | 857 +++++++++++++++++++++++++++++
 lfs/abseil-cpp                     |  79 +++
 make.sh                            |   1 +
 3 files changed, 937 insertions(+)
 create mode 100644 config/rootfiles/common/abseil-cpp
 create mode 100644 lfs/abseil-cpp
 mode change 100644 => 100755 make.sh

diff --git a/config/rootfiles/common/abseil-cpp b/config/rootfiles/common/abseil-cpp
new file mode 100644
index 000000000..6566e1bd0
--- /dev/null
+++ b/config/rootfiles/common/abseil-cpp
@@ -0,0 +1,857 @@
+#usr/include/absl
+#usr/include/absl/CMakeFiles
+#usr/include/absl/algorithm
+#usr/include/absl/algorithm/CMakeFiles
+#usr/include/absl/algorithm/algorithm.h
+#usr/include/absl/algorithm/container.h
+#usr/include/absl/base
+#usr/include/absl/base/CMakeFiles
+#usr/include/absl/base/CMakeFiles/base.dir
+#usr/include/absl/base/CMakeFiles/base.dir/internal
+#usr/include/absl/base/CMakeFiles/log_severity.dir
+#usr/include/absl/base/CMakeFiles/malloc_internal.dir
+#usr/include/absl/base/CMakeFiles/malloc_internal.dir/internal
+#usr/include/absl/base/CMakeFiles/raw_logging_internal.dir
+#usr/include/absl/base/CMakeFiles/raw_logging_internal.dir/internal
+#usr/include/absl/base/CMakeFiles/scoped_set_env.dir
+#usr/include/absl/base/CMakeFiles/scoped_set_env.dir/internal
+#usr/include/absl/base/CMakeFiles/spinlock_wait.dir
+#usr/include/absl/base/CMakeFiles/spinlock_wait.dir/internal
+#usr/include/absl/base/CMakeFiles/strerror.dir
+#usr/include/absl/base/CMakeFiles/strerror.dir/internal
+#usr/include/absl/base/CMakeFiles/throw_delegate.dir
+#usr/include/absl/base/CMakeFiles/throw_delegate.dir/internal
+#usr/include/absl/base/attributes.h
+#usr/include/absl/base/call_once.h
+#usr/include/absl/base/casts.h
+#usr/include/absl/base/config.h
+#usr/include/absl/base/const_init.h
+#usr/include/absl/base/dynamic_annotations.h
+#usr/include/absl/base/internal
+#usr/include/absl/base/internal/atomic_hook.h
+#usr/include/absl/base/internal/atomic_hook_test_helper.h
+#usr/include/absl/base/internal/cycleclock.h
+#usr/include/absl/base/internal/cycleclock_config.h
+#usr/include/absl/base/internal/direct_mmap.h
+#usr/include/absl/base/internal/dynamic_annotations.h
+#usr/include/absl/base/internal/endian.h
+#usr/include/absl/base/internal/errno_saver.h
+#usr/include/absl/base/internal/exception_safety_testing.h
+#usr/include/absl/base/internal/exception_testing.h
+#usr/include/absl/base/internal/fast_type_id.h
+#usr/include/absl/base/internal/hide_ptr.h
+#usr/include/absl/base/internal/identity.h
+#usr/include/absl/base/internal/inline_variable.h
+#usr/include/absl/base/internal/inline_variable_testing.h
+#usr/include/absl/base/internal/invoke.h
+#usr/include/absl/base/internal/low_level_alloc.h
+#usr/include/absl/base/internal/low_level_scheduling.h
+#usr/include/absl/base/internal/nullability_impl.h
+#usr/include/absl/base/internal/per_thread_tls.h
+#usr/include/absl/base/internal/prefetch.h
+#usr/include/absl/base/internal/pretty_function.h
+#usr/include/absl/base/internal/raw_logging.h
+#usr/include/absl/base/internal/scheduling_mode.h
+#usr/include/absl/base/internal/scoped_set_env.h
+#usr/include/absl/base/internal/spinlock.h
+#usr/include/absl/base/internal/spinlock_akaros.inc
+#usr/include/absl/base/internal/spinlock_linux.inc
+#usr/include/absl/base/internal/spinlock_posix.inc
+#usr/include/absl/base/internal/spinlock_wait.h
+#usr/include/absl/base/internal/spinlock_win32.inc
+#usr/include/absl/base/internal/strerror.h
+#usr/include/absl/base/internal/sysinfo.h
+#usr/include/absl/base/internal/thread_annotations.h
+#usr/include/absl/base/internal/thread_identity.h
+#usr/include/absl/base/internal/throw_delegate.h
+#usr/include/absl/base/internal/tsan_mutex_interface.h
+#usr/include/absl/base/internal/unaligned_access.h
+#usr/include/absl/base/internal/unscaledcycleclock.h
+#usr/include/absl/base/internal/unscaledcycleclock_config.h
+#usr/include/absl/base/log_severity.h
+#usr/include/absl/base/macros.h
+#usr/include/absl/base/nullability.h
+#usr/include/absl/base/optimization.h
+#usr/include/absl/base/options.h
+#usr/include/absl/base/policy_checks.h
+#usr/include/absl/base/port.h
+#usr/include/absl/base/prefetch.h
+#usr/include/absl/base/thread_annotations.h
+#usr/include/absl/cleanup
+#usr/include/absl/cleanup/CMakeFiles
+#usr/include/absl/cleanup/cleanup.h
+#usr/include/absl/cleanup/internal
+#usr/include/absl/cleanup/internal/cleanup.h
+#usr/include/absl/container
+#usr/include/absl/container/CMakeFiles
+#usr/include/absl/container/CMakeFiles/hashtablez_sampler.dir
+#usr/include/absl/container/CMakeFiles/hashtablez_sampler.dir/internal
+#usr/include/absl/container/CMakeFiles/raw_hash_set.dir
+#usr/include/absl/container/CMakeFiles/raw_hash_set.dir/internal
+#usr/include/absl/container/btree_map.h
+#usr/include/absl/container/btree_set.h
+#usr/include/absl/container/btree_test.h
+#usr/include/absl/container/fixed_array.h
+#usr/include/absl/container/flat_hash_map.h
+#usr/include/absl/container/flat_hash_set.h
+#usr/include/absl/container/inlined_vector.h
+#usr/include/absl/container/internal
+#usr/include/absl/container/internal/btree.h
+#usr/include/absl/container/internal/btree_container.h
+#usr/include/absl/container/internal/common.h
+#usr/include/absl/container/internal/common_policy_traits.h
+#usr/include/absl/container/internal/compressed_tuple.h
+#usr/include/absl/container/internal/container_memory.h
+#usr/include/absl/container/internal/counting_allocator.h
+#usr/include/absl/container/internal/hash_function_defaults.h
+#usr/include/absl/container/internal/hash_generator_testing.h
+#usr/include/absl/container/internal/hash_policy_testing.h
+#usr/include/absl/container/internal/hash_policy_traits.h
+#usr/include/absl/container/internal/hashtable_debug.h
+#usr/include/absl/container/internal/hashtable_debug_hooks.h
+#usr/include/absl/container/internal/hashtablez_sampler.h
+#usr/include/absl/container/internal/inlined_vector.h
+#usr/include/absl/container/internal/layout.h
+#usr/include/absl/container/internal/node_slot_policy.h
+#usr/include/absl/container/internal/raw_hash_map.h
+#usr/include/absl/container/internal/raw_hash_set.h
+#usr/include/absl/container/internal/test_instance_tracker.h
+#usr/include/absl/container/internal/tracked.h
+#usr/include/absl/container/internal/unordered_map_constructor_test.h
+#usr/include/absl/container/internal/unordered_map_lookup_test.h
+#usr/include/absl/container/internal/unordered_map_members_test.h
+#usr/include/absl/container/internal/unordered_map_modifiers_test.h
+#usr/include/absl/container/internal/unordered_set_constructor_test.h
+#usr/include/absl/container/internal/unordered_set_lookup_test.h
+#usr/include/absl/container/internal/unordered_set_members_test.h
+#usr/include/absl/container/internal/unordered_set_modifiers_test.h
+#usr/include/absl/container/node_hash_map.h
+#usr/include/absl/container/node_hash_set.h
+#usr/include/absl/crc
+#usr/include/absl/crc/CMakeFiles
+#usr/include/absl/crc/CMakeFiles/crc32c.dir
+#usr/include/absl/crc/CMakeFiles/crc32c.dir/internal
+#usr/include/absl/crc/CMakeFiles/crc_cord_state.dir
+#usr/include/absl/crc/CMakeFiles/crc_cord_state.dir/internal
+#usr/include/absl/crc/CMakeFiles/crc_cpu_detect.dir
+#usr/include/absl/crc/CMakeFiles/crc_cpu_detect.dir/internal
+#usr/include/absl/crc/CMakeFiles/crc_internal.dir
+#usr/include/absl/crc/CMakeFiles/crc_internal.dir/internal
+#usr/include/absl/crc/crc32c.h
+#usr/include/absl/crc/internal
+#usr/include/absl/crc/internal/cpu_detect.h
+#usr/include/absl/crc/internal/crc.h
+#usr/include/absl/crc/internal/crc32_x86_arm_combined_simd.h
+#usr/include/absl/crc/internal/crc32c.h
+#usr/include/absl/crc/internal/crc32c_inline.h
+#usr/include/absl/crc/internal/crc_cord_state.h
+#usr/include/absl/crc/internal/crc_internal.h
+#usr/include/absl/crc/internal/crc_memcpy.h
+#usr/include/absl/crc/internal/non_temporal_arm_intrinsics.h
+#usr/include/absl/crc/internal/non_temporal_memcpy.h
+#usr/include/absl/debugging
+#usr/include/absl/debugging/CMakeFiles
+#usr/include/absl/debugging/CMakeFiles/debugging_internal.dir
+#usr/include/absl/debugging/CMakeFiles/debugging_internal.dir/internal
+#usr/include/absl/debugging/CMakeFiles/demangle_internal.dir
+#usr/include/absl/debugging/CMakeFiles/demangle_internal.dir/internal
+#usr/include/absl/debugging/CMakeFiles/examine_stack.dir
+#usr/include/absl/debugging/CMakeFiles/examine_stack.dir/internal
+#usr/include/absl/debugging/CMakeFiles/failure_signal_handler.dir
+#usr/include/absl/debugging/CMakeFiles/leak_check.dir
+#usr/include/absl/debugging/CMakeFiles/stacktrace.dir
+#usr/include/absl/debugging/CMakeFiles/symbolize.dir
+#usr/include/absl/debugging/failure_signal_handler.h
+#usr/include/absl/debugging/internal
+#usr/include/absl/debugging/internal/address_is_readable.h
+#usr/include/absl/debugging/internal/demangle.h
+#usr/include/absl/debugging/internal/elf_mem_image.h
+#usr/include/absl/debugging/internal/examine_stack.h
+#usr/include/absl/debugging/internal/stack_consumption.h
+#usr/include/absl/debugging/internal/stacktrace_aarch64-inl.inc
+#usr/include/absl/debugging/internal/stacktrace_arm-inl.inc
+#usr/include/absl/debugging/internal/stacktrace_config.h
+#usr/include/absl/debugging/internal/stacktrace_emscripten-inl.inc
+#usr/include/absl/debugging/internal/stacktrace_generic-inl.inc
+#usr/include/absl/debugging/internal/stacktrace_powerpc-inl.inc
+#usr/include/absl/debugging/internal/stacktrace_riscv-inl.inc
+#usr/include/absl/debugging/internal/stacktrace_unimplemented-inl.inc
+#usr/include/absl/debugging/internal/stacktrace_win32-inl.inc
+#usr/include/absl/debugging/internal/stacktrace_x86-inl.inc
+#usr/include/absl/debugging/internal/symbolize.h
+#usr/include/absl/debugging/internal/vdso_support.h
+#usr/include/absl/debugging/leak_check.h
+#usr/include/absl/debugging/stacktrace.h
+#usr/include/absl/debugging/symbolize.h
+#usr/include/absl/debugging/symbolize_darwin.inc
+#usr/include/absl/debugging/symbolize_elf.inc
+#usr/include/absl/debugging/symbolize_emscripten.inc
+#usr/include/absl/debugging/symbolize_unimplemented.inc
+#usr/include/absl/debugging/symbolize_win32.inc
+#usr/include/absl/flags
+#usr/include/absl/flags/CMakeFiles
+#usr/include/absl/flags/CMakeFiles/flags.dir
+#usr/include/absl/flags/CMakeFiles/flags_commandlineflag.dir
+#usr/include/absl/flags/CMakeFiles/flags_commandlineflag_internal.dir
+#usr/include/absl/flags/CMakeFiles/flags_commandlineflag_internal.dir/internal
+#usr/include/absl/flags/CMakeFiles/flags_config.dir
+#usr/include/absl/flags/CMakeFiles/flags_internal.dir
+#usr/include/absl/flags/CMakeFiles/flags_internal.dir/internal
+#usr/include/absl/flags/CMakeFiles/flags_marshalling.dir
+#usr/include/absl/flags/CMakeFiles/flags_parse.dir
+#usr/include/absl/flags/CMakeFiles/flags_private_handle_accessor.dir
+#usr/include/absl/flags/CMakeFiles/flags_private_handle_accessor.dir/internal
+#usr/include/absl/flags/CMakeFiles/flags_program_name.dir
+#usr/include/absl/flags/CMakeFiles/flags_program_name.dir/internal
+#usr/include/absl/flags/CMakeFiles/flags_reflection.dir
+#usr/include/absl/flags/CMakeFiles/flags_usage.dir
+#usr/include/absl/flags/CMakeFiles/flags_usage_internal.dir
+#usr/include/absl/flags/CMakeFiles/flags_usage_internal.dir/internal
+#usr/include/absl/flags/commandlineflag.h
+#usr/include/absl/flags/config.h
+#usr/include/absl/flags/declare.h
+#usr/include/absl/flags/flag.h
+#usr/include/absl/flags/internal
+#usr/include/absl/flags/internal/commandlineflag.h
+#usr/include/absl/flags/internal/flag.h
+#usr/include/absl/flags/internal/flag_msvc.inc
+#usr/include/absl/flags/internal/parse.h
+#usr/include/absl/flags/internal/path_util.h
+#usr/include/absl/flags/internal/private_handle_accessor.h
+#usr/include/absl/flags/internal/program_name.h
+#usr/include/absl/flags/internal/registry.h
+#usr/include/absl/flags/internal/sequence_lock.h
+#usr/include/absl/flags/internal/usage.h
+#usr/include/absl/flags/marshalling.h
+#usr/include/absl/flags/parse.h
+#usr/include/absl/flags/reflection.h
+#usr/include/absl/flags/usage.h
+#usr/include/absl/flags/usage_config.h
+#usr/include/absl/functional
+#usr/include/absl/functional/CMakeFiles
+#usr/include/absl/functional/any_invocable.h
+#usr/include/absl/functional/bind_front.h
+#usr/include/absl/functional/function_ref.h
+#usr/include/absl/functional/internal
+#usr/include/absl/functional/internal/any_invocable.h
+#usr/include/absl/functional/internal/front_binder.h
+#usr/include/absl/functional/internal/function_ref.h
+#usr/include/absl/hash
+#usr/include/absl/hash/CMakeFiles
+#usr/include/absl/hash/CMakeFiles/city.dir
+#usr/include/absl/hash/CMakeFiles/city.dir/internal
+#usr/include/absl/hash/CMakeFiles/hash.dir
+#usr/include/absl/hash/CMakeFiles/hash.dir/internal
+#usr/include/absl/hash/CMakeFiles/low_level_hash.dir
+#usr/include/absl/hash/CMakeFiles/low_level_hash.dir/internal
+#usr/include/absl/hash/hash.h
+#usr/include/absl/hash/hash_testing.h
+#usr/include/absl/hash/internal
+#usr/include/absl/hash/internal/city.h
+#usr/include/absl/hash/internal/hash.h
+#usr/include/absl/hash/internal/hash_test.h
+#usr/include/absl/hash/internal/low_level_hash.h
+#usr/include/absl/hash/internal/spy_hash_state.h
+#usr/include/absl/log
+#usr/include/absl/log/CMakeFiles
+#usr/include/absl/log/CMakeFiles/die_if_null.dir
+#usr/include/absl/log/CMakeFiles/log_entry.dir
+#usr/include/absl/log/CMakeFiles/log_flags.dir
+#usr/include/absl/log/CMakeFiles/log_globals.dir
+#usr/include/absl/log/CMakeFiles/log_initialize.dir
+#usr/include/absl/log/CMakeFiles/log_internal_check_op.dir
+#usr/include/absl/log/CMakeFiles/log_internal_check_op.dir/internal
+#usr/include/absl/log/CMakeFiles/log_internal_conditions.dir
+#usr/include/absl/log/CMakeFiles/log_internal_conditions.dir/internal
+#usr/include/absl/log/CMakeFiles/log_internal_format.dir
+#usr/include/absl/log/CMakeFiles/log_internal_format.dir/internal
+#usr/include/absl/log/CMakeFiles/log_internal_globals.dir
+#usr/include/absl/log/CMakeFiles/log_internal_globals.dir/internal
+#usr/include/absl/log/CMakeFiles/log_internal_log_sink_set.dir
+#usr/include/absl/log/CMakeFiles/log_internal_log_sink_set.dir/internal
+#usr/include/absl/log/CMakeFiles/log_internal_message.dir
+#usr/include/absl/log/CMakeFiles/log_internal_message.dir/internal
+#usr/include/absl/log/CMakeFiles/log_internal_nullguard.dir
+#usr/include/absl/log/CMakeFiles/log_internal_nullguard.dir/internal
+#usr/include/absl/log/CMakeFiles/log_internal_proto.dir
+#usr/include/absl/log/CMakeFiles/log_internal_proto.dir/internal
+#usr/include/absl/log/CMakeFiles/log_sink.dir
+#usr/include/absl/log/absl_check.h
+#usr/include/absl/log/absl_log.h
+#usr/include/absl/log/check.h
+#usr/include/absl/log/check_test_impl.inc
+#usr/include/absl/log/die_if_null.h
+#usr/include/absl/log/flags.h
+#usr/include/absl/log/globals.h
+#usr/include/absl/log/initialize.h
+#usr/include/absl/log/internal
+#usr/include/absl/log/internal/append_truncated.h
+#usr/include/absl/log/internal/check_impl.h
+#usr/include/absl/log/internal/check_op.h
+#usr/include/absl/log/internal/conditions.h
+#usr/include/absl/log/internal/config.h
+#usr/include/absl/log/internal/flags.h
+#usr/include/absl/log/internal/globals.h
+#usr/include/absl/log/internal/log_format.h
+#usr/include/absl/log/internal/log_impl.h
+#usr/include/absl/log/internal/log_message.h
+#usr/include/absl/log/internal/log_sink_set.h
+#usr/include/absl/log/internal/nullguard.h
+#usr/include/absl/log/internal/nullstream.h
+#usr/include/absl/log/internal/proto.h
+#usr/include/absl/log/internal/strip.h
+#usr/include/absl/log/internal/structured.h
+#usr/include/absl/log/internal/test_actions.h
+#usr/include/absl/log/internal/test_helpers.h
+#usr/include/absl/log/internal/test_matchers.h
+#usr/include/absl/log/internal/voidify.h
+#usr/include/absl/log/log.h
+#usr/include/absl/log/log_basic_test_impl.inc
+#usr/include/absl/log/log_entry.h
+#usr/include/absl/log/log_sink.h
+#usr/include/absl/log/log_sink_registry.h
+#usr/include/absl/log/log_streamer.h
+#usr/include/absl/log/scoped_mock_log.h
+#usr/include/absl/log/structured.h
+#usr/include/absl/memory
+#usr/include/absl/memory/CMakeFiles
+#usr/include/absl/memory/memory.h
+#usr/include/absl/meta
+#usr/include/absl/meta/CMakeFiles
+#usr/include/absl/meta/type_traits.h
+#usr/include/absl/numeric
+#usr/include/absl/numeric/CMakeFiles
+#usr/include/absl/numeric/CMakeFiles/int128.dir
+#usr/include/absl/numeric/bits.h
+#usr/include/absl/numeric/int128.h
+#usr/include/absl/numeric/int128_have_intrinsic.inc
+#usr/include/absl/numeric/int128_no_intrinsic.inc
+#usr/include/absl/numeric/internal
+#usr/include/absl/numeric/internal/bits.h
+#usr/include/absl/numeric/internal/representation.h
+#usr/include/absl/profiling
+#usr/include/absl/profiling/CMakeFiles
+#usr/include/absl/profiling/CMakeFiles/exponential_biased.dir
+#usr/include/absl/profiling/CMakeFiles/exponential_biased.dir/internal
+#usr/include/absl/profiling/CMakeFiles/periodic_sampler.dir
+#usr/include/absl/profiling/CMakeFiles/periodic_sampler.dir/internal
+#usr/include/absl/profiling/internal
+#usr/include/absl/profiling/internal/exponential_biased.h
+#usr/include/absl/profiling/internal/periodic_sampler.h
+#usr/include/absl/profiling/internal/sample_recorder.h
+#usr/include/absl/random
+#usr/include/absl/random/CMakeFiles
+#usr/include/absl/random/CMakeFiles/random_distributions.dir
+#usr/include/absl/random/CMakeFiles/random_internal_distribution_test_util.dir
+#usr/include/absl/random/CMakeFiles/random_internal_distribution_test_util.dir/internal
+#usr/include/absl/random/CMakeFiles/random_internal_platform.dir
+#usr/include/absl/random/CMakeFiles/random_internal_platform.dir/internal
+#usr/include/absl/random/CMakeFiles/random_internal_pool_urbg.dir
+#usr/include/absl/random/CMakeFiles/random_internal_pool_urbg.dir/internal
+#usr/include/absl/random/CMakeFiles/random_internal_randen.dir
+#usr/include/absl/random/CMakeFiles/random_internal_randen.dir/internal
+#usr/include/absl/random/CMakeFiles/random_internal_randen_hwaes.dir
+#usr/include/absl/random/CMakeFiles/random_internal_randen_hwaes.dir/internal
+#usr/include/absl/random/CMakeFiles/random_internal_randen_hwaes_impl.dir
+#usr/include/absl/random/CMakeFiles/random_internal_randen_hwaes_impl.dir/internal
+#usr/include/absl/random/CMakeFiles/random_internal_randen_slow.dir
+#usr/include/absl/random/CMakeFiles/random_internal_randen_slow.dir/internal
+#usr/include/absl/random/CMakeFiles/random_internal_seed_material.dir
+#usr/include/absl/random/CMakeFiles/random_internal_seed_material.dir/internal
+#usr/include/absl/random/CMakeFiles/random_seed_gen_exception.dir
+#usr/include/absl/random/CMakeFiles/random_seed_sequences.dir
+#usr/include/absl/random/bernoulli_distribution.h
+#usr/include/absl/random/beta_distribution.h
+#usr/include/absl/random/bit_gen_ref.h
+#usr/include/absl/random/discrete_distribution.h
+#usr/include/absl/random/distributions.h
+#usr/include/absl/random/exponential_distribution.h
+#usr/include/absl/random/gaussian_distribution.h
+#usr/include/absl/random/internal
+#usr/include/absl/random/internal/chi_square.h
+#usr/include/absl/random/internal/distribution_caller.h
+#usr/include/absl/random/internal/distribution_test_util.h
+#usr/include/absl/random/internal/explicit_seed_seq.h
+#usr/include/absl/random/internal/fast_uniform_bits.h
+#usr/include/absl/random/internal/fastmath.h
+#usr/include/absl/random/internal/generate_real.h
+#usr/include/absl/random/internal/iostream_state_saver.h
+#usr/include/absl/random/internal/mock_helpers.h
+#usr/include/absl/random/internal/mock_overload_set.h
+#usr/include/absl/random/internal/nanobenchmark.h
+#usr/include/absl/random/internal/nonsecure_base.h
+#usr/include/absl/random/internal/pcg_engine.h
+#usr/include/absl/random/internal/platform.h
+#usr/include/absl/random/internal/pool_urbg.h
+#usr/include/absl/random/internal/randen.h
+#usr/include/absl/random/internal/randen_detect.h
+#usr/include/absl/random/internal/randen_engine.h
+#usr/include/absl/random/internal/randen_hwaes.h
+#usr/include/absl/random/internal/randen_slow.h
+#usr/include/absl/random/internal/randen_traits.h
+#usr/include/absl/random/internal/salted_seed_seq.h
+#usr/include/absl/random/internal/seed_material.h
+#usr/include/absl/random/internal/sequence_urbg.h
+#usr/include/absl/random/internal/traits.h
+#usr/include/absl/random/internal/uniform_helper.h
+#usr/include/absl/random/internal/wide_multiply.h
+#usr/include/absl/random/log_uniform_int_distribution.h
+#usr/include/absl/random/mock_distributions.h
+#usr/include/absl/random/mocking_bit_gen.h
+#usr/include/absl/random/poisson_distribution.h
+#usr/include/absl/random/random.h
+#usr/include/absl/random/seed_gen_exception.h
+#usr/include/absl/random/seed_sequences.h
+#usr/include/absl/random/uniform_int_distribution.h
+#usr/include/absl/random/uniform_real_distribution.h
+#usr/include/absl/random/zipf_distribution.h
+#usr/include/absl/status
+#usr/include/absl/status/CMakeFiles
+#usr/include/absl/status/CMakeFiles/status.dir
+#usr/include/absl/status/CMakeFiles/statusor.dir
+#usr/include/absl/status/internal
+#usr/include/absl/status/internal/status_internal.h
+#usr/include/absl/status/internal/statusor_internal.h
+#usr/include/absl/status/status.h
+#usr/include/absl/status/status_payload_printer.h
+#usr/include/absl/status/statusor.h
+#usr/include/absl/strings
+#usr/include/absl/strings/CMakeFiles
+#usr/include/absl/strings/CMakeFiles/cord.dir
+#usr/include/absl/strings/CMakeFiles/cord_internal.dir
+#usr/include/absl/strings/CMakeFiles/cord_internal.dir/internal
+#usr/include/absl/strings/CMakeFiles/cordz_functions.dir
+#usr/include/absl/strings/CMakeFiles/cordz_functions.dir/internal
+#usr/include/absl/strings/CMakeFiles/cordz_handle.dir
+#usr/include/absl/strings/CMakeFiles/cordz_handle.dir/internal
+#usr/include/absl/strings/CMakeFiles/cordz_info.dir
+#usr/include/absl/strings/CMakeFiles/cordz_info.dir/internal
+#usr/include/absl/strings/CMakeFiles/cordz_sample_token.dir
+#usr/include/absl/strings/CMakeFiles/cordz_sample_token.dir/internal
+#usr/include/absl/strings/CMakeFiles/str_format_internal.dir
+#usr/include/absl/strings/CMakeFiles/str_format_internal.dir/internal
+#usr/include/absl/strings/CMakeFiles/str_format_internal.dir/internal/str_format
+#usr/include/absl/strings/CMakeFiles/string_view.dir
+#usr/include/absl/strings/CMakeFiles/strings.dir
+#usr/include/absl/strings/CMakeFiles/strings.dir/internal
+#usr/include/absl/strings/CMakeFiles/strings_internal.dir
+#usr/include/absl/strings/CMakeFiles/strings_internal.dir/internal
+#usr/include/absl/strings/ascii.h
+#usr/include/absl/strings/charconv.h
+#usr/include/absl/strings/cord.h
+#usr/include/absl/strings/cord_analysis.h
+#usr/include/absl/strings/cord_buffer.h
+#usr/include/absl/strings/cord_test_helpers.h
+#usr/include/absl/strings/cordz_test_helpers.h
+#usr/include/absl/strings/escaping.h
+#usr/include/absl/strings/internal
+#usr/include/absl/strings/internal/char_map.h
+#usr/include/absl/strings/internal/charconv_bigint.h
+#usr/include/absl/strings/internal/charconv_parse.h
+#usr/include/absl/strings/internal/cord_data_edge.h
+#usr/include/absl/strings/internal/cord_internal.h
+#usr/include/absl/strings/internal/cord_rep_btree.h
+#usr/include/absl/strings/internal/cord_rep_btree_navigator.h
+#usr/include/absl/strings/internal/cord_rep_btree_reader.h
+#usr/include/absl/strings/internal/cord_rep_consume.h
+#usr/include/absl/strings/internal/cord_rep_crc.h
+#usr/include/absl/strings/internal/cord_rep_flat.h
+#usr/include/absl/strings/internal/cord_rep_ring.h
+#usr/include/absl/strings/internal/cord_rep_ring_reader.h
+#usr/include/absl/strings/internal/cord_rep_test_util.h
+#usr/include/absl/strings/internal/cordz_functions.h
+#usr/include/absl/strings/internal/cordz_handle.h
+#usr/include/absl/strings/internal/cordz_info.h
+#usr/include/absl/strings/internal/cordz_sample_token.h
+#usr/include/absl/strings/internal/cordz_statistics.h
+#usr/include/absl/strings/internal/cordz_update_scope.h
+#usr/include/absl/strings/internal/cordz_update_tracker.h
+#usr/include/absl/strings/internal/damerau_levenshtein_distance.h
+#usr/include/absl/strings/internal/escaping.h
+#usr/include/absl/strings/internal/escaping_test_common.h
+#usr/include/absl/strings/internal/has_absl_stringify.h
+#usr/include/absl/strings/internal/memutil.h
+#usr/include/absl/strings/internal/numbers_test_common.h
+#usr/include/absl/strings/internal/ostringstream.h
+#usr/include/absl/strings/internal/pow10_helper.h
+#usr/include/absl/strings/internal/resize_uninitialized.h
+#usr/include/absl/strings/internal/stl_type_traits.h
+#usr/include/absl/strings/internal/str_format
+#usr/include/absl/strings/internal/str_format/arg.h
+#usr/include/absl/strings/internal/str_format/bind.h
+#usr/include/absl/strings/internal/str_format/checker.h
+#usr/include/absl/strings/internal/str_format/constexpr_parser.h
+#usr/include/absl/strings/internal/str_format/extension.h
+#usr/include/absl/strings/internal/str_format/float_conversion.h
+#usr/include/absl/strings/internal/str_format/output.h
+#usr/include/absl/strings/internal/str_format/parser.h
+#usr/include/absl/strings/internal/str_join_internal.h
+#usr/include/absl/strings/internal/str_split_internal.h
+#usr/include/absl/strings/internal/string_constant.h
+#usr/include/absl/strings/internal/stringify_sink.h
+#usr/include/absl/strings/internal/utf8.h
+#usr/include/absl/strings/match.h
+#usr/include/absl/strings/numbers.h
+#usr/include/absl/strings/str_cat.h
+#usr/include/absl/strings/str_format.h
+#usr/include/absl/strings/str_join.h
+#usr/include/absl/strings/str_replace.h
+#usr/include/absl/strings/str_split.h
+#usr/include/absl/strings/string_view.h
+#usr/include/absl/strings/strip.h
+#usr/include/absl/strings/substitute.h
+#usr/include/absl/synchronization
+#usr/include/absl/synchronization/CMakeFiles
+#usr/include/absl/synchronization/CMakeFiles/graphcycles_internal.dir
+#usr/include/absl/synchronization/CMakeFiles/graphcycles_internal.dir/internal
+#usr/include/absl/synchronization/CMakeFiles/kernel_timeout_internal.dir
+#usr/include/absl/synchronization/CMakeFiles/kernel_timeout_internal.dir/internal
+#usr/include/absl/synchronization/CMakeFiles/synchronization.dir
+#usr/include/absl/synchronization/CMakeFiles/synchronization.dir/internal
+#usr/include/absl/synchronization/barrier.h
+#usr/include/absl/synchronization/blocking_counter.h
+#usr/include/absl/synchronization/internal
+#usr/include/absl/synchronization/internal/create_thread_identity.h
+#usr/include/absl/synchronization/internal/futex.h
+#usr/include/absl/synchronization/internal/futex_waiter.h
+#usr/include/absl/synchronization/internal/graphcycles.h
+#usr/include/absl/synchronization/internal/kernel_timeout.h
+#usr/include/absl/synchronization/internal/per_thread_sem.h
+#usr/include/absl/synchronization/internal/pthread_waiter.h
+#usr/include/absl/synchronization/internal/sem_waiter.h
+#usr/include/absl/synchronization/internal/stdcpp_waiter.h
+#usr/include/absl/synchronization/internal/thread_pool.h
+#usr/include/absl/synchronization/internal/waiter.h
+#usr/include/absl/synchronization/internal/waiter_base.h
+#usr/include/absl/synchronization/internal/win32_waiter.h
+#usr/include/absl/synchronization/mutex.h
+#usr/include/absl/synchronization/notification.h
+#usr/include/absl/time
+#usr/include/absl/time/CMakeFiles
+#usr/include/absl/time/CMakeFiles/civil_time.dir
+#usr/include/absl/time/CMakeFiles/civil_time.dir/internal
+#usr/include/absl/time/CMakeFiles/civil_time.dir/internal/cctz
+#usr/include/absl/time/CMakeFiles/civil_time.dir/internal/cctz/src
+#usr/include/absl/time/CMakeFiles/time.dir
+#usr/include/absl/time/CMakeFiles/time_zone.dir
+#usr/include/absl/time/CMakeFiles/time_zone.dir/internal
+#usr/include/absl/time/CMakeFiles/time_zone.dir/internal/cctz
+#usr/include/absl/time/CMakeFiles/time_zone.dir/internal/cctz/src
+#usr/include/absl/time/civil_time.h
+#usr/include/absl/time/clock.h
+#usr/include/absl/time/internal
+#usr/include/absl/time/internal/cctz
+#usr/include/absl/time/internal/cctz/include
+#usr/include/absl/time/internal/cctz/include/cctz
+#usr/include/absl/time/internal/cctz/include/cctz/civil_time.h
+#usr/include/absl/time/internal/cctz/include/cctz/civil_time_detail.h
+#usr/include/absl/time/internal/cctz/include/cctz/time_zone.h
+#usr/include/absl/time/internal/cctz/include/cctz/zone_info_source.h
+#usr/include/absl/time/internal/cctz/src
+#usr/include/absl/time/internal/cctz/src/time_zone_fixed.h
+#usr/include/absl/time/internal/cctz/src/time_zone_if.h
+#usr/include/absl/time/internal/cctz/src/time_zone_impl.h
+#usr/include/absl/time/internal/cctz/src/time_zone_info.h
+#usr/include/absl/time/internal/cctz/src/time_zone_libc.h
+#usr/include/absl/time/internal/cctz/src/time_zone_posix.h
+#usr/include/absl/time/internal/cctz/src/tzfile.h
+#usr/include/absl/time/internal/get_current_time_chrono.inc
+#usr/include/absl/time/internal/get_current_time_posix.inc
+#usr/include/absl/time/internal/test_util.h
+#usr/include/absl/time/time.h
+#usr/include/absl/types
+#usr/include/absl/types/CMakeFiles
+#usr/include/absl/types/CMakeFiles/bad_any_cast_impl.dir
+#usr/include/absl/types/CMakeFiles/bad_optional_access.dir
+#usr/include/absl/types/CMakeFiles/bad_variant_access.dir
+#usr/include/absl/types/any.h
+#usr/include/absl/types/bad_any_cast.h
+#usr/include/absl/types/bad_optional_access.h
+#usr/include/absl/types/bad_variant_access.h
+#usr/include/absl/types/compare.h
+#usr/include/absl/types/internal
+#usr/include/absl/types/internal/conformance_aliases.h
+#usr/include/absl/types/internal/conformance_archetype.h
+#usr/include/absl/types/internal/conformance_profile.h
+#usr/include/absl/types/internal/conformance_testing.h
+#usr/include/absl/types/internal/conformance_testing_helpers.h
+#usr/include/absl/types/internal/optional.h
+#usr/include/absl/types/internal/parentheses.h
+#usr/include/absl/types/internal/span.h
+#usr/include/absl/types/internal/transform_args.h
+#usr/include/absl/types/internal/variant.h
+#usr/include/absl/types/optional.h
+#usr/include/absl/types/span.h
+#usr/include/absl/types/variant.h
+#usr/include/absl/utility
+#usr/include/absl/utility/CMakeFiles
+#usr/include/absl/utility/internal
+#usr/include/absl/utility/internal/if_constexpr.h
+#usr/include/absl/utility/utility.h
+#usr/lib/cmake/absl
+#usr/lib/cmake/absl/abslConfig.cmake
+#usr/lib/cmake/absl/abslConfigVersion.cmake
+#usr/lib/cmake/absl/abslTargets-noconfig.cmake
+#usr/lib/cmake/absl/abslTargets.cmake
+#usr/lib/libabsl_bad_any_cast_impl.a
+#usr/lib/libabsl_bad_optional_access.a
+#usr/lib/libabsl_bad_variant_access.a
+#usr/lib/libabsl_base.a
+#usr/lib/libabsl_city.a
+#usr/lib/libabsl_civil_time.a
+#usr/lib/libabsl_cord.a
+#usr/lib/libabsl_cord_internal.a
+#usr/lib/libabsl_cordz_functions.a
+#usr/lib/libabsl_cordz_handle.a
+#usr/lib/libabsl_cordz_info.a
+#usr/lib/libabsl_cordz_sample_token.a
+#usr/lib/libabsl_crc32c.a
+#usr/lib/libabsl_crc_cord_state.a
+#usr/lib/libabsl_crc_cpu_detect.a
+#usr/lib/libabsl_crc_internal.a
+#usr/lib/libabsl_debugging_internal.a
+#usr/lib/libabsl_demangle_internal.a
+#usr/lib/libabsl_die_if_null.a
+#usr/lib/libabsl_examine_stack.a
+#usr/lib/libabsl_exponential_biased.a
+#usr/lib/libabsl_failure_signal_handler.a
+#usr/lib/libabsl_flags.a
+#usr/lib/libabsl_flags_commandlineflag.a
+#usr/lib/libabsl_flags_commandlineflag_internal.a
+#usr/lib/libabsl_flags_config.a
+#usr/lib/libabsl_flags_internal.a
+#usr/lib/libabsl_flags_marshalling.a
+#usr/lib/libabsl_flags_parse.a
+#usr/lib/libabsl_flags_private_handle_accessor.a
+#usr/lib/libabsl_flags_program_name.a
+#usr/lib/libabsl_flags_reflection.a
+#usr/lib/libabsl_flags_usage.a
+#usr/lib/libabsl_flags_usage_internal.a
+#usr/lib/libabsl_graphcycles_internal.a
+#usr/lib/libabsl_hash.a
+#usr/lib/libabsl_hashtablez_sampler.a
+#usr/lib/libabsl_int128.a
+#usr/lib/libabsl_kernel_timeout_internal.a
+#usr/lib/libabsl_leak_check.a
+#usr/lib/libabsl_log_entry.a
+#usr/lib/libabsl_log_flags.a
+#usr/lib/libabsl_log_globals.a
+#usr/lib/libabsl_log_initialize.a
+#usr/lib/libabsl_log_internal_check_op.a
+#usr/lib/libabsl_log_internal_conditions.a
+#usr/lib/libabsl_log_internal_format.a
+#usr/lib/libabsl_log_internal_globals.a
+#usr/lib/libabsl_log_internal_log_sink_set.a
+#usr/lib/libabsl_log_internal_message.a
+#usr/lib/libabsl_log_internal_nullguard.a
+#usr/lib/libabsl_log_internal_proto.a
+#usr/lib/libabsl_log_severity.a
+#usr/lib/libabsl_log_sink.a
+#usr/lib/libabsl_low_level_hash.a
+#usr/lib/libabsl_malloc_internal.a
+#usr/lib/libabsl_periodic_sampler.a
+#usr/lib/libabsl_random_distributions.a
+#usr/lib/libabsl_random_internal_distribution_test_util.a
+#usr/lib/libabsl_random_internal_platform.a
+#usr/lib/libabsl_random_internal_pool_urbg.a
+#usr/lib/libabsl_random_internal_randen.a
+#usr/lib/libabsl_random_internal_randen_hwaes.a
+#usr/lib/libabsl_random_internal_randen_hwaes_impl.a
+#usr/lib/libabsl_random_internal_randen_slow.a
+#usr/lib/libabsl_random_internal_seed_material.a
+#usr/lib/libabsl_random_seed_gen_exception.a
+#usr/lib/libabsl_random_seed_sequences.a
+#usr/lib/libabsl_raw_hash_set.a
+#usr/lib/libabsl_raw_logging_internal.a
+#usr/lib/libabsl_scoped_set_env.a
+#usr/lib/libabsl_spinlock_wait.a
+#usr/lib/libabsl_stacktrace.a
+#usr/lib/libabsl_status.a
+#usr/lib/libabsl_statusor.a
+#usr/lib/libabsl_str_format_internal.a
+#usr/lib/libabsl_strerror.a
+#usr/lib/libabsl_string_view.a
+#usr/lib/libabsl_strings.a
+#usr/lib/libabsl_strings_internal.a
+#usr/lib/libabsl_symbolize.a
+#usr/lib/libabsl_synchronization.a
+#usr/lib/libabsl_throw_delegate.a
+#usr/lib/libabsl_time.a
+#usr/lib/libabsl_time_zone.a
+#usr/lib/pkgconfig/absl_absl_check.pc
+#usr/lib/pkgconfig/absl_absl_log.pc
+#usr/lib/pkgconfig/absl_algorithm.pc
+#usr/lib/pkgconfig/absl_algorithm_container.pc
+#usr/lib/pkgconfig/absl_any.pc
+#usr/lib/pkgconfig/absl_any_invocable.pc
+#usr/lib/pkgconfig/absl_atomic_hook.pc
+#usr/lib/pkgconfig/absl_bad_any_cast.pc
+#usr/lib/pkgconfig/absl_bad_any_cast_impl.pc
+#usr/lib/pkgconfig/absl_bad_optional_access.pc
+#usr/lib/pkgconfig/absl_bad_variant_access.pc
+#usr/lib/pkgconfig/absl_base.pc
+#usr/lib/pkgconfig/absl_base_internal.pc
+#usr/lib/pkgconfig/absl_bind_front.pc
+#usr/lib/pkgconfig/absl_bits.pc
+#usr/lib/pkgconfig/absl_btree.pc
+#usr/lib/pkgconfig/absl_check.pc
+#usr/lib/pkgconfig/absl_city.pc
+#usr/lib/pkgconfig/absl_civil_time.pc
+#usr/lib/pkgconfig/absl_cleanup.pc
+#usr/lib/pkgconfig/absl_cleanup_internal.pc
+#usr/lib/pkgconfig/absl_common_policy_traits.pc
+#usr/lib/pkgconfig/absl_compare.pc
+#usr/lib/pkgconfig/absl_compressed_tuple.pc
+#usr/lib/pkgconfig/absl_config.pc
+#usr/lib/pkgconfig/absl_container_common.pc
+#usr/lib/pkgconfig/absl_container_memory.pc
+#usr/lib/pkgconfig/absl_cord.pc
+#usr/lib/pkgconfig/absl_cord_internal.pc
+#usr/lib/pkgconfig/absl_cordz_functions.pc
+#usr/lib/pkgconfig/absl_cordz_handle.pc
+#usr/lib/pkgconfig/absl_cordz_info.pc
+#usr/lib/pkgconfig/absl_cordz_sample_token.pc
+#usr/lib/pkgconfig/absl_cordz_statistics.pc
+#usr/lib/pkgconfig/absl_cordz_update_scope.pc
+#usr/lib/pkgconfig/absl_cordz_update_tracker.pc
+#usr/lib/pkgconfig/absl_core_headers.pc
+#usr/lib/pkgconfig/absl_counting_allocator.pc
+#usr/lib/pkgconfig/absl_crc32c.pc
+#usr/lib/pkgconfig/absl_crc_cord_state.pc
+#usr/lib/pkgconfig/absl_crc_cpu_detect.pc
+#usr/lib/pkgconfig/absl_crc_internal.pc
+#usr/lib/pkgconfig/absl_debugging.pc
+#usr/lib/pkgconfig/absl_debugging_internal.pc
+#usr/lib/pkgconfig/absl_demangle_internal.pc
+#usr/lib/pkgconfig/absl_die_if_null.pc
+#usr/lib/pkgconfig/absl_dynamic_annotations.pc
+#usr/lib/pkgconfig/absl_endian.pc
+#usr/lib/pkgconfig/absl_errno_saver.pc
+#usr/lib/pkgconfig/absl_examine_stack.pc
+#usr/lib/pkgconfig/absl_exponential_biased.pc
+#usr/lib/pkgconfig/absl_failure_signal_handler.pc
+#usr/lib/pkgconfig/absl_fast_type_id.pc
+#usr/lib/pkgconfig/absl_fixed_array.pc
+#usr/lib/pkgconfig/absl_flags.pc
+#usr/lib/pkgconfig/absl_flags_commandlineflag.pc
+#usr/lib/pkgconfig/absl_flags_commandlineflag_internal.pc
+#usr/lib/pkgconfig/absl_flags_config.pc
+#usr/lib/pkgconfig/absl_flags_internal.pc
+#usr/lib/pkgconfig/absl_flags_marshalling.pc
+#usr/lib/pkgconfig/absl_flags_parse.pc
+#usr/lib/pkgconfig/absl_flags_path_util.pc
+#usr/lib/pkgconfig/absl_flags_private_handle_accessor.pc
+#usr/lib/pkgconfig/absl_flags_program_name.pc
+#usr/lib/pkgconfig/absl_flags_reflection.pc
+#usr/lib/pkgconfig/absl_flags_usage.pc
+#usr/lib/pkgconfig/absl_flags_usage_internal.pc
+#usr/lib/pkgconfig/absl_flat_hash_map.pc
+#usr/lib/pkgconfig/absl_flat_hash_set.pc
+#usr/lib/pkgconfig/absl_function_ref.pc
+#usr/lib/pkgconfig/absl_graphcycles_internal.pc
+#usr/lib/pkgconfig/absl_hash.pc
+#usr/lib/pkgconfig/absl_hash_function_defaults.pc
+#usr/lib/pkgconfig/absl_hash_policy_traits.pc
+#usr/lib/pkgconfig/absl_hashtable_debug.pc
+#usr/lib/pkgconfig/absl_hashtable_debug_hooks.pc
+#usr/lib/pkgconfig/absl_hashtablez_sampler.pc
+#usr/lib/pkgconfig/absl_if_constexpr.pc
+#usr/lib/pkgconfig/absl_inlined_vector.pc
+#usr/lib/pkgconfig/absl_inlined_vector_internal.pc
+#usr/lib/pkgconfig/absl_int128.pc
+#usr/lib/pkgconfig/absl_kernel_timeout_internal.pc
+#usr/lib/pkgconfig/absl_layout.pc
+#usr/lib/pkgconfig/absl_leak_check.pc
+#usr/lib/pkgconfig/absl_log.pc
+#usr/lib/pkgconfig/absl_log_entry.pc
+#usr/lib/pkgconfig/absl_log_flags.pc
+#usr/lib/pkgconfig/absl_log_globals.pc
+#usr/lib/pkgconfig/absl_log_initialize.pc
+#usr/lib/pkgconfig/absl_log_internal_append_truncated.pc
+#usr/lib/pkgconfig/absl_log_internal_check_impl.pc
+#usr/lib/pkgconfig/absl_log_internal_check_op.pc
+#usr/lib/pkgconfig/absl_log_internal_conditions.pc
+#usr/lib/pkgconfig/absl_log_internal_config.pc
+#usr/lib/pkgconfig/absl_log_internal_flags.pc
+#usr/lib/pkgconfig/absl_log_internal_format.pc
+#usr/lib/pkgconfig/absl_log_internal_globals.pc
+#usr/lib/pkgconfig/absl_log_internal_log_impl.pc
+#usr/lib/pkgconfig/absl_log_internal_log_sink_set.pc
+#usr/lib/pkgconfig/absl_log_internal_message.pc
+#usr/lib/pkgconfig/absl_log_internal_nullguard.pc
+#usr/lib/pkgconfig/absl_log_internal_nullstream.pc
+#usr/lib/pkgconfig/absl_log_internal_proto.pc
+#usr/lib/pkgconfig/absl_log_internal_strip.pc
+#usr/lib/pkgconfig/absl_log_internal_structured.pc
+#usr/lib/pkgconfig/absl_log_internal_voidify.pc
+#usr/lib/pkgconfig/absl_log_severity.pc
+#usr/lib/pkgconfig/absl_log_sink.pc
+#usr/lib/pkgconfig/absl_log_sink_registry.pc
+#usr/lib/pkgconfig/absl_log_streamer.pc
+#usr/lib/pkgconfig/absl_log_structured.pc
+#usr/lib/pkgconfig/absl_low_level_hash.pc
+#usr/lib/pkgconfig/absl_malloc_internal.pc
+#usr/lib/pkgconfig/absl_memory.pc
+#usr/lib/pkgconfig/absl_meta.pc
+#usr/lib/pkgconfig/absl_node_hash_map.pc
+#usr/lib/pkgconfig/absl_node_hash_set.pc
+#usr/lib/pkgconfig/absl_node_slot_policy.pc
+#usr/lib/pkgconfig/absl_non_temporal_arm_intrinsics.pc
+#usr/lib/pkgconfig/absl_non_temporal_memcpy.pc
+#usr/lib/pkgconfig/absl_nullability.pc
+#usr/lib/pkgconfig/absl_numeric.pc
+#usr/lib/pkgconfig/absl_numeric_representation.pc
+#usr/lib/pkgconfig/absl_optional.pc
+#usr/lib/pkgconfig/absl_periodic_sampler.pc
+#usr/lib/pkgconfig/absl_prefetch.pc
+#usr/lib/pkgconfig/absl_pretty_function.pc
+#usr/lib/pkgconfig/absl_random_bit_gen_ref.pc
+#usr/lib/pkgconfig/absl_random_distributions.pc
+#usr/lib/pkgconfig/absl_random_internal_distribution_caller.pc
+#usr/lib/pkgconfig/absl_random_internal_distribution_test_util.pc
+#usr/lib/pkgconfig/absl_random_internal_fast_uniform_bits.pc
+#usr/lib/pkgconfig/absl_random_internal_fastmath.pc
+#usr/lib/pkgconfig/absl_random_internal_generate_real.pc
+#usr/lib/pkgconfig/absl_random_internal_iostream_state_saver.pc
+#usr/lib/pkgconfig/absl_random_internal_mock_helpers.pc
+#usr/lib/pkgconfig/absl_random_internal_nonsecure_base.pc
+#usr/lib/pkgconfig/absl_random_internal_pcg_engine.pc
+#usr/lib/pkgconfig/absl_random_internal_platform.pc
+#usr/lib/pkgconfig/absl_random_internal_pool_urbg.pc
+#usr/lib/pkgconfig/absl_random_internal_randen.pc
+#usr/lib/pkgconfig/absl_random_internal_randen_engine.pc
+#usr/lib/pkgconfig/absl_random_internal_randen_hwaes.pc
+#usr/lib/pkgconfig/absl_random_internal_randen_hwaes_impl.pc
+#usr/lib/pkgconfig/absl_random_internal_randen_slow.pc
+#usr/lib/pkgconfig/absl_random_internal_salted_seed_seq.pc
+#usr/lib/pkgconfig/absl_random_internal_seed_material.pc
+#usr/lib/pkgconfig/absl_random_internal_traits.pc
+#usr/lib/pkgconfig/absl_random_internal_uniform_helper.pc
+#usr/lib/pkgconfig/absl_random_internal_wide_multiply.pc
+#usr/lib/pkgconfig/absl_random_random.pc
+#usr/lib/pkgconfig/absl_random_seed_gen_exception.pc
+#usr/lib/pkgconfig/absl_random_seed_sequences.pc
+#usr/lib/pkgconfig/absl_raw_hash_map.pc
+#usr/lib/pkgconfig/absl_raw_hash_set.pc
+#usr/lib/pkgconfig/absl_raw_logging_internal.pc
+#usr/lib/pkgconfig/absl_sample_recorder.pc
+#usr/lib/pkgconfig/absl_scoped_set_env.pc
+#usr/lib/pkgconfig/absl_span.pc
+#usr/lib/pkgconfig/absl_spinlock_wait.pc
+#usr/lib/pkgconfig/absl_stacktrace.pc
+#usr/lib/pkgconfig/absl_status.pc
+#usr/lib/pkgconfig/absl_statusor.pc
+#usr/lib/pkgconfig/absl_str_format.pc
+#usr/lib/pkgconfig/absl_str_format_internal.pc
+#usr/lib/pkgconfig/absl_strerror.pc
+#usr/lib/pkgconfig/absl_string_view.pc
+#usr/lib/pkgconfig/absl_strings.pc
+#usr/lib/pkgconfig/absl_strings_internal.pc
+#usr/lib/pkgconfig/absl_symbolize.pc
+#usr/lib/pkgconfig/absl_synchronization.pc
+#usr/lib/pkgconfig/absl_throw_delegate.pc
+#usr/lib/pkgconfig/absl_time.pc
+#usr/lib/pkgconfig/absl_time_zone.pc
+#usr/lib/pkgconfig/absl_type_traits.pc
+#usr/lib/pkgconfig/absl_utility.pc
+#usr/lib/pkgconfig/absl_variant.pc
diff --git a/lfs/abseil-cpp b/lfs/abseil-cpp
new file mode 100644
index 000000000..c0588a889
--- /dev/null
+++ b/lfs/abseil-cpp
@@ -0,0 +1,79 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2024  IPFire Team  <info(a)ipfire.org>                     #
+#                                                                             #
+# 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 <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 20230802.1
+
+THISAPP    = abseil-cpp-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 98a9efb0fdc3801ff26d53202a1737cdf2d4115690f358abe16ba8b82625ee9df109e50ad50a30dc8e368b78630c3e7a31006801060b431c1b07b157366f1210
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+	@$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && cmake . \
+			-D CMAKE_INSTALL_PREFIX=/usr \
+			-D BUILD_TESTING=OFF
+	cd $(DIR_APP) && make $(MAKETUNING)
+	cd $(DIR_APP) && make install
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
old mode 100644
new mode 100755
index 9405d497e..3b67eb196
--- a/make.sh
+++ b/make.sh
@@ -1648,6 +1648,7 @@ buildipfire() {
   lfsmake2 dnsdist
   lfsmake2 bird
   lfsmake2 libyang
+  lfsmake2 abseil-cpp
   lfsmake2 protobuf
   lfsmake2 protobuf-c
   lfsmake2 frr
-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-01-24 21:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-24 21:09 [PATCH 1/5] frr: Update to version 9.1 Adolf Belka
2024-01-24 21:09 ` [PATCH 2/5] libyang: Update to version 2.1.148 Adolf Belka
2024-01-24 21:09 ` [PATCH 3/5] protobuf-c: New build dependency for frr Adolf Belka
2024-01-24 21:09 ` [PATCH 4/5] protobuf: New build dependency for protobuf-c Adolf Belka
2024-01-24 21:09 ` [PATCH 5/5] abseil-cpp: New build dependency for protobuf Adolf Belka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox