Reviewed-by: Michael Tremer michael.tremer@ipfire.org
On 25 Nov 2021, at 18:17, Adolf Belka adolf.belka@ipfire.org wrote:
- Created lfs file
- Created rootfile but all entries commented out. If the use of userspace rcu becomes something to be required as part of IPFire then the appropriate entries in the rootfile can be uncommented in a future commit.
- Added liburcu to the make.sh file just before xfsprogs
Signed-off-by: Adolf Belka adolf.belka@ipfire.org
config/rootfiles/common/liburcu | 232 ++++++++++++++++++++++++++++++++ lfs/liburcu | 83 ++++++++++++ make.sh | 1 + 3 files changed, 316 insertions(+) create mode 100644 config/rootfiles/common/liburcu create mode 100644 lfs/liburcu
diff --git a/config/rootfiles/common/liburcu b/config/rootfiles/common/liburcu new file mode 100644 index 000000000..f1de29d87 --- /dev/null +++ b/config/rootfiles/common/liburcu @@ -0,0 +1,232 @@ +#usr/include/urcu +#usr/include/urcu-bp.h +#usr/include/urcu-call-rcu.h +#usr/include/urcu-defer.h +#usr/include/urcu-flavor.h +#usr/include/urcu-pointer.h +#usr/include/urcu-qsbr.h +#usr/include/urcu.h +#usr/include/urcu/arch +#usr/include/urcu/arch.h +#usr/include/urcu/arch/aarch64.h +#usr/include/urcu/arch/alpha.h +#usr/include/urcu/arch/arm.h +#usr/include/urcu/arch/gcc.h +#usr/include/urcu/arch/generic.h +#usr/include/urcu/arch/hppa.h +#usr/include/urcu/arch/ia64.h +#usr/include/urcu/arch/m68k.h +#usr/include/urcu/arch/mips.h +#usr/include/urcu/arch/nios2.h +#usr/include/urcu/arch/ppc.h +#usr/include/urcu/arch/riscv.h +#usr/include/urcu/arch/s390.h +#usr/include/urcu/arch/sparc64.h +#usr/include/urcu/arch/tile.h +#usr/include/urcu/arch/x86.h +#usr/include/urcu/call-rcu.h +#usr/include/urcu/cds.h +#usr/include/urcu/compiler.h +#usr/include/urcu/config.h +#usr/include/urcu/debug.h +#usr/include/urcu/defer.h +#usr/include/urcu/flavor.h +#usr/include/urcu/futex.h +#usr/include/urcu/hlist.h +#usr/include/urcu/lfstack.h +#usr/include/urcu/list.h +#usr/include/urcu/map +#usr/include/urcu/map/clear.h +#usr/include/urcu/map/urcu-bp.h +#usr/include/urcu/map/urcu-mb.h +#usr/include/urcu/map/urcu-memb.h +#usr/include/urcu/map/urcu-qsbr.h +#usr/include/urcu/map/urcu-signal.h +#usr/include/urcu/map/urcu.h +#usr/include/urcu/pointer.h +#usr/include/urcu/rcuhlist.h +#usr/include/urcu/rculfhash.h +#usr/include/urcu/rculfqueue.h +#usr/include/urcu/rculfstack.h +#usr/include/urcu/rculist.h +#usr/include/urcu/ref.h +#usr/include/urcu/static +#usr/include/urcu/static/lfstack.h +#usr/include/urcu/static/pointer.h +#usr/include/urcu/static/rculfqueue.h +#usr/include/urcu/static/rculfstack.h +#usr/include/urcu/static/urcu-bp.h +#usr/include/urcu/static/urcu-common.h +#usr/include/urcu/static/urcu-mb.h +#usr/include/urcu/static/urcu-memb.h +#usr/include/urcu/static/urcu-qsbr.h +#usr/include/urcu/static/urcu-signal-nr.h +#usr/include/urcu/static/urcu-signal.h +#usr/include/urcu/static/urcu.h +#usr/include/urcu/static/wfcqueue.h +#usr/include/urcu/static/wfqueue.h +#usr/include/urcu/static/wfstack.h +#usr/include/urcu/syscall-compat.h +#usr/include/urcu/system.h +#usr/include/urcu/tls-compat.h +#usr/include/urcu/uatomic +#usr/include/urcu/uatomic.h +#usr/include/urcu/uatomic/aarch64.h +#usr/include/urcu/uatomic/alpha.h +#usr/include/urcu/uatomic/arm.h +#usr/include/urcu/uatomic/gcc.h +#usr/include/urcu/uatomic/generic.h +#usr/include/urcu/uatomic/hppa.h +#usr/include/urcu/uatomic/ia64.h +#usr/include/urcu/uatomic/m68k.h +#usr/include/urcu/uatomic/mips.h +#usr/include/urcu/uatomic/nios2.h +#usr/include/urcu/uatomic/ppc.h +#usr/include/urcu/uatomic/riscv.h +#usr/include/urcu/uatomic/s390.h +#usr/include/urcu/uatomic/sparc64.h +#usr/include/urcu/uatomic/tile.h +#usr/include/urcu/uatomic/x86.h +#usr/include/urcu/uatomic_arch.h +#usr/include/urcu/urcu-bp.h +#usr/include/urcu/urcu-futex.h +#usr/include/urcu/urcu-mb.h +#usr/include/urcu/urcu-memb.h +#usr/include/urcu/urcu-qsbr.h +#usr/include/urcu/urcu-signal.h +#usr/include/urcu/urcu.h +#usr/include/urcu/urcu_ref.h +#usr/include/urcu/wfcqueue.h +#usr/include/urcu/wfqueue.h +#usr/include/urcu/wfstack.h +#usr/lib/liburcu-bp.la +#usr/lib/liburcu-bp.so +#usr/lib/liburcu-bp.so.8 +#usr/lib/liburcu-bp.so.8.0.0 +#usr/lib/liburcu-cds.la +#usr/lib/liburcu-cds.so +#usr/lib/liburcu-cds.so.8 +#usr/lib/liburcu-cds.so.8.0.0 +#usr/lib/liburcu-common.la +#usr/lib/liburcu-common.so +#usr/lib/liburcu-common.so.8 +#usr/lib/liburcu-common.so.8.0.0 +#usr/lib/liburcu-mb.la +#usr/lib/liburcu-mb.so +#usr/lib/liburcu-mb.so.8 +#usr/lib/liburcu-mb.so.8.0.0 +#usr/lib/liburcu-memb.la +#usr/lib/liburcu-memb.so +#usr/lib/liburcu-memb.so.8 +#usr/lib/liburcu-memb.so.8.0.0 +#usr/lib/liburcu-qsbr.la +#usr/lib/liburcu-qsbr.so +#usr/lib/liburcu-qsbr.so.8 +#usr/lib/liburcu-qsbr.so.8.0.0 +#usr/lib/liburcu-signal.la +#usr/lib/liburcu-signal.so +#usr/lib/liburcu-signal.so.8 +#usr/lib/liburcu-signal.so.8.0.0 +#usr/lib/liburcu.la +#usr/lib/liburcu.so +#usr/lib/liburcu.so.8 +#usr/lib/liburcu.so.8.0.0 +#usr/lib/pkgconfig/liburcu-bp.pc +#usr/lib/pkgconfig/liburcu-cds.pc +#usr/lib/pkgconfig/liburcu-mb.pc +#usr/lib/pkgconfig/liburcu-qsbr.pc +#usr/lib/pkgconfig/liburcu-signal.pc +#usr/lib/pkgconfig/liburcu.pc +#usr/share/doc/userspace-rcu +#usr/share/doc/userspace-rcu/LICENSE +#usr/share/doc/userspace-rcu/README.md +#usr/share/doc/userspace-rcu/cds-api.md +#usr/share/doc/userspace-rcu/examples +#usr/share/doc/userspace-rcu/examples/Makefile +#usr/share/doc/userspace-rcu/examples/Makefile.examples.template +#usr/share/doc/userspace-rcu/examples/hlist +#usr/share/doc/userspace-rcu/examples/hlist/Makefile +#usr/share/doc/userspace-rcu/examples/hlist/Makefile.cds_hlist_add_head_rcu +#usr/share/doc/userspace-rcu/examples/hlist/Makefile.cds_hlist_del_rcu +#usr/share/doc/userspace-rcu/examples/hlist/Makefile.cds_hlist_for_each_entry_rcu +#usr/share/doc/userspace-rcu/examples/hlist/Makefile.cds_hlist_for_each_rcu +#usr/share/doc/userspace-rcu/examples/hlist/cds_hlist_add_head_rcu.c +#usr/share/doc/userspace-rcu/examples/hlist/cds_hlist_del_rcu.c +#usr/share/doc/userspace-rcu/examples/hlist/cds_hlist_for_each_entry_rcu.c +#usr/share/doc/userspace-rcu/examples/hlist/cds_hlist_for_each_rcu.c +#usr/share/doc/userspace-rcu/examples/lfstack +#usr/share/doc/userspace-rcu/examples/lfstack/Makefile +#usr/share/doc/userspace-rcu/examples/lfstack/Makefile.cds_lfs_pop_all_blocking +#usr/share/doc/userspace-rcu/examples/lfstack/Makefile.cds_lfs_pop_blocking +#usr/share/doc/userspace-rcu/examples/lfstack/Makefile.cds_lfs_push +#usr/share/doc/userspace-rcu/examples/lfstack/cds_lfs_pop_all_blocking.c +#usr/share/doc/userspace-rcu/examples/lfstack/cds_lfs_pop_blocking.c +#usr/share/doc/userspace-rcu/examples/lfstack/cds_lfs_push.c +#usr/share/doc/userspace-rcu/examples/list +#usr/share/doc/userspace-rcu/examples/list/Makefile +#usr/share/doc/userspace-rcu/examples/list/Makefile.cds_list_add_rcu +#usr/share/doc/userspace-rcu/examples/list/Makefile.cds_list_add_tail_rcu +#usr/share/doc/userspace-rcu/examples/list/Makefile.cds_list_del_rcu +#usr/share/doc/userspace-rcu/examples/list/Makefile.cds_list_for_each_entry_rcu +#usr/share/doc/userspace-rcu/examples/list/Makefile.cds_list_for_each_rcu +#usr/share/doc/userspace-rcu/examples/list/Makefile.cds_list_replace_rcu +#usr/share/doc/userspace-rcu/examples/list/cds_list_add_rcu.c +#usr/share/doc/userspace-rcu/examples/list/cds_list_add_tail_rcu.c +#usr/share/doc/userspace-rcu/examples/list/cds_list_del_rcu.c +#usr/share/doc/userspace-rcu/examples/list/cds_list_for_each_entry_rcu.c +#usr/share/doc/userspace-rcu/examples/list/cds_list_for_each_rcu.c +#usr/share/doc/userspace-rcu/examples/list/cds_list_replace_rcu.c +#usr/share/doc/userspace-rcu/examples/rculfhash +#usr/share/doc/userspace-rcu/examples/rculfhash/Makefile +#usr/share/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_add +#usr/share/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_add_replace +#usr/share/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_add_unique +#usr/share/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_del +#usr/share/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_destroy +#usr/share/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_for_each_entry_duplicate +#usr/share/doc/userspace-rcu/examples/rculfhash/Makefile.cds_lfht_lookup +#usr/share/doc/userspace-rcu/examples/rculfhash/cds_lfht_add.c +#usr/share/doc/userspace-rcu/examples/rculfhash/cds_lfht_add_replace.c +#usr/share/doc/userspace-rcu/examples/rculfhash/cds_lfht_add_unique.c +#usr/share/doc/userspace-rcu/examples/rculfhash/cds_lfht_del.c +#usr/share/doc/userspace-rcu/examples/rculfhash/cds_lfht_destroy.c +#usr/share/doc/userspace-rcu/examples/rculfhash/cds_lfht_for_each_entry_duplicate.c +#usr/share/doc/userspace-rcu/examples/rculfhash/cds_lfht_lookup.c +#usr/share/doc/userspace-rcu/examples/rculfhash/jhash.h +#usr/share/doc/userspace-rcu/examples/rculfqueue +#usr/share/doc/userspace-rcu/examples/rculfqueue/Makefile +#usr/share/doc/userspace-rcu/examples/rculfqueue/Makefile.cds_lfq_dequeue +#usr/share/doc/userspace-rcu/examples/rculfqueue/Makefile.cds_lfq_enqueue +#usr/share/doc/userspace-rcu/examples/rculfqueue/cds_lfq_dequeue.c +#usr/share/doc/userspace-rcu/examples/rculfqueue/cds_lfq_enqueue.c +#usr/share/doc/userspace-rcu/examples/urcu-flavors +#usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile +#usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile.bp +#usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile.mb +#usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile.membarrier +#usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile.qsbr +#usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile.signal +#usr/share/doc/userspace-rcu/examples/urcu-flavors/bp.c +#usr/share/doc/userspace-rcu/examples/urcu-flavors/mb.c +#usr/share/doc/userspace-rcu/examples/urcu-flavors/membarrier.c +#usr/share/doc/userspace-rcu/examples/urcu-flavors/qsbr.c +#usr/share/doc/userspace-rcu/examples/urcu-flavors/signal.c +#usr/share/doc/userspace-rcu/examples/wfcqueue +#usr/share/doc/userspace-rcu/examples/wfcqueue/Makefile +#usr/share/doc/userspace-rcu/examples/wfcqueue/Makefile.cds_wfcq_dequeue +#usr/share/doc/userspace-rcu/examples/wfcqueue/Makefile.cds_wfcq_enqueue +#usr/share/doc/userspace-rcu/examples/wfcqueue/Makefile.cds_wfcq_splice +#usr/share/doc/userspace-rcu/examples/wfcqueue/cds_wfcq_dequeue.c +#usr/share/doc/userspace-rcu/examples/wfcqueue/cds_wfcq_enqueue.c +#usr/share/doc/userspace-rcu/examples/wfcqueue/cds_wfcq_splice.c +#usr/share/doc/userspace-rcu/examples/wfstack +#usr/share/doc/userspace-rcu/examples/wfstack/Makefile +#usr/share/doc/userspace-rcu/examples/wfstack/Makefile.cds_wfs_pop +#usr/share/doc/userspace-rcu/examples/wfstack/Makefile.cds_wfs_pop_all_blocking +#usr/share/doc/userspace-rcu/examples/wfstack/Makefile.cds_wfs_push +#usr/share/doc/userspace-rcu/examples/wfstack/cds_wfs_pop.c +#usr/share/doc/userspace-rcu/examples/wfstack/cds_wfs_pop_all_blocking.c +#usr/share/doc/userspace-rcu/examples/wfstack/cds_wfs_push.c +#usr/share/doc/userspace-rcu/rcu-api.md +#usr/share/doc/userspace-rcu/solaris-build.md +#usr/share/doc/userspace-rcu/uatomic-api.md diff --git a/lfs/liburcu b/lfs/liburcu new file mode 100644 index 000000000..0a21c0f21 --- /dev/null +++ b/lfs/liburcu @@ -0,0 +1,83 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2018 IPFire Team info@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 = 0.13.0
+THISAPP = userspace-rcu-$(VER) +DL_FILE = $(THISAPP).tar.bz2 +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)_MD5 = 8cb75dbb05774c03e66c63cb3186dd59
+install : $(TARGET)
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+md5 : $(subst %,%_MD5,$(objects))
+dist:
- @$(PAK)
+############################################################################### +# Downloading, checking, md5sum +###############################################################################
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
+$(subst %,%_MD5,$(objects)) :
- @$(MD5)
+############################################################################### +# 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 \
--disable-static
- cd $(DIR_APP) && make $(MAKETUNING)
- cd $(DIR_APP) && make install
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
diff --git a/make.sh b/make.sh index e6f948ba0..88f89c642 100755 --- a/make.sh +++ b/make.sh @@ -1280,6 +1280,7 @@ buildipfire() { lfsmake2 dosfstools lfsmake2 exfatprogs lfsmake2 reiserfsprogs
- lfsmake2 liburcu lfsmake2 xfsprogs lfsmake2 sysfsutils lfsmake2 fuse
-- 2.34.0