[v2,2/2] liburcu: New dependency for build of xfsprogs
Commit Message
- 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
Comments
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
>
new file mode 100644
@@ -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
new file mode 100644
@@ -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)
@@ -1280,6 +1280,7 @@ buildipfire() {
lfsmake2 dosfstools
lfsmake2 exfatprogs
lfsmake2 reiserfsprogs
+ lfsmake2 liburcu
lfsmake2 xfsprogs
lfsmake2 sysfsutils
lfsmake2 fuse