libtirpc: Convert from an addon to a core program - fixes Bug 13015

Message ID 20230127143002.3442315-1-adolf.belka@ipfire.org
State Accepted
Commit 024220e4dfc5993d5d64abfced918340f729fe62
Headers
Series libtirpc: Convert from an addon to a core program - fixes Bug 13015 |

Commit Message

Adolf Belka Jan. 27, 2023, 2:30 p.m. UTC
  - libtirpc is required for lsof to work from CU172 onwards. rpc.h is no longer available
   from glibc. This would normally cause the lsof build to fail but libtirpc as an addon
   is built before lsof and so is present in the build and lsof is linked to it.
   When running lsof it fails as the linked libtirpc library is not present unless it has
   been installed as an addon.
- This patch converts the libtirpc lfs from an addon to a core program and moves the
   rootfile from the packages directory to the common directory.
- Tested out on my vm testbed. With CU172 lsof fails to run due to the missing libtirpc
   With the build based on this patch installed lsof works normally again.
- Disabled the static library build in the configure options and updated the rootfile

Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Fixes: Bug#13015
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/{packages => common}/libtirpc |  1 -
 lfs/libtirpc                                   | 18 +++++++-----------
 2 files changed, 7 insertions(+), 12 deletions(-)
 rename config/rootfiles/{packages => common}/libtirpc (98%)
  

Comments

Bernhard Bitsch Jan. 27, 2023, 3:01 p.m. UTC | #1
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>


Am 27.01.2023 um 15:30 schrieb Adolf Belka:
> - libtirpc is required for lsof to work from CU172 onwards. rpc.h is no longer available
>     from glibc. This would normally cause the lsof build to fail but libtirpc as an addon
>     is built before lsof and so is present in the build and lsof is linked to it.
>     When running lsof it fails as the linked libtirpc library is not present unless it has
>     been installed as an addon.
> - This patch converts the libtirpc lfs from an addon to a core program and moves the
>     rootfile from the packages directory to the common directory.
> - Tested out on my vm testbed. With CU172 lsof fails to run due to the missing libtirpc
>     With the build based on this patch installed lsof works normally again.
> - Disabled the static library build in the configure options and updated the rootfile
> 
> Tested-by: Adolf Belka <adolf.belka@ipfire.org>
> Fixes: Bug#13015
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
>   config/rootfiles/{packages => common}/libtirpc |  1 -
>   lfs/libtirpc                                   | 18 +++++++-----------
>   2 files changed, 7 insertions(+), 12 deletions(-)
>   rename config/rootfiles/{packages => common}/libtirpc (98%)
> 
> diff --git a/config/rootfiles/packages/libtirpc b/config/rootfiles/common/libtirpc
> similarity index 98%
> rename from config/rootfiles/packages/libtirpc
> rename to config/rootfiles/common/libtirpc
> index ed7f33242..7e85a0a25 100644
> --- a/config/rootfiles/packages/libtirpc
> +++ b/config/rootfiles/common/libtirpc
> @@ -34,7 +34,6 @@ etc/netconfig
>   #usr/include/tirpc/rpcsvc
>   #usr/include/tirpc/rpcsvc/crypt.h
>   #usr/include/tirpc/rpcsvc/crypt.x
> -#usr/lib/libtirpc.a
>   #usr/lib/libtirpc.la
>   #usr/lib/libtirpc.so
>   usr/lib/libtirpc.so.3
> diff --git a/lfs/libtirpc b/lfs/libtirpc
> index ac897f2eb..09d7b6555 100644
> --- a/lfs/libtirpc
> +++ b/lfs/libtirpc
> @@ -1,7 +1,7 @@
>   ###############################################################################
>   #                                                                             #
>   # IPFire.org - A linux based firewall                                         #
> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
> +# Copyright (C) 2007-2023  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        #
> @@ -33,12 +33,6 @@ DL_FILE    = $(THISAPP).tar.bz2
>   DL_FROM    = $(URL_IPFIRE)
>   DIR_APP    = $(DIR_SRC)/$(THISAPP)
>   TARGET     = $(DIR_INFO)/$(THISAPP)
> -PROG       = libtirpc
> -PAK_VER    = 3
> -
> -DEPS       =
> -
> -SERVICES   =
>   
>   CFLAGS    += -fcommon
>   
> @@ -60,9 +54,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
>   
>   b2 : $(subst %,%_BLAKE2,$(objects))
>   
> -dist:
> -	@$(PAK)
> -
>   ###############################################################################
>   # Downloading, checking, b2sum
>   ###############################################################################
> @@ -84,7 +75,12 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>   	@$(PREBUILD)
>   	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
>   	$(UPDATE_AUTOMAKE)
> -	cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc --disable-gssapi --disable-ipv6
> +	cd $(DIR_APP) && ./configure \
> +	      --prefix=/usr \
> +	      --sysconfdir=/etc \
> +	      --disable-gssapi \
> +	      --disable-ipv6 \
> +	      --disable-static
>   	cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
>   	cd $(DIR_APP) && make install
>   	@rm -rf $(DIR_APP)
  

Patch

diff --git a/config/rootfiles/packages/libtirpc b/config/rootfiles/common/libtirpc
similarity index 98%
rename from config/rootfiles/packages/libtirpc
rename to config/rootfiles/common/libtirpc
index ed7f33242..7e85a0a25 100644
--- a/config/rootfiles/packages/libtirpc
+++ b/config/rootfiles/common/libtirpc
@@ -34,7 +34,6 @@  etc/netconfig
 #usr/include/tirpc/rpcsvc
 #usr/include/tirpc/rpcsvc/crypt.h
 #usr/include/tirpc/rpcsvc/crypt.x
-#usr/lib/libtirpc.a
 #usr/lib/libtirpc.la
 #usr/lib/libtirpc.so
 usr/lib/libtirpc.so.3
diff --git a/lfs/libtirpc b/lfs/libtirpc
index ac897f2eb..09d7b6555 100644
--- a/lfs/libtirpc
+++ b/lfs/libtirpc
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2023  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        #
@@ -33,12 +33,6 @@  DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = libtirpc
-PAK_VER    = 3
-
-DEPS       =
-
-SERVICES   =
 
 CFLAGS    += -fcommon
 
@@ -60,9 +54,6 @@  download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
 b2 : $(subst %,%_BLAKE2,$(objects))
 
-dist:
-	@$(PAK)
-
 ###############################################################################
 # Downloading, checking, b2sum
 ###############################################################################
@@ -84,7 +75,12 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
 	$(UPDATE_AUTOMAKE)
-	cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc --disable-gssapi --disable-ipv6
+	cd $(DIR_APP) && ./configure \
+	      --prefix=/usr \
+	      --sysconfdir=/etc \
+	      --disable-gssapi \
+	      --disable-ipv6 \
+	      --disable-static
 	cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
 	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)