[06/15] python3-editables: New build dependency for python3-hatchling

Message ID 20240129134120.3269534-6-adolf.belka@ipfire.org
State Staged
Commit ec01213dcf0c8283626aa9d5a7fbc30ac725ae8c
Headers
Series [01/15] borgbackup: Update to version 1.2.7 |

Commit Message

Adolf Belka Jan. 29, 2024, 1:41 p.m. UTC
  - lfs and rootfile created.
- rootfile put into common as it is only used as a build dependency.
- Used pyproject.toml build approach

Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/python3-editables | 12 ++++
 lfs/python3-editables                     | 85 +++++++++++++++++++++++
 make.sh                                   |  4 +-
 3 files changed, 98 insertions(+), 3 deletions(-)
 create mode 100644 config/rootfiles/common/python3-editables
 create mode 100644 lfs/python3-editables
  

Comments

Arne Fitzenreiter Jan. 30, 2024, 2:11 p.m. UTC | #1
Hi,

this reverts changes for frr deps (protobuf) on make.sh

Arne

Am 2024-01-29 14:41, schrieb Adolf Belka:
> - lfs and rootfile created.
> - rootfile put into common as it is only used as a build dependency.
> - Used pyproject.toml build approach
> 
> Tested-by: Adolf Belka <adolf.belka@ipfire.org>
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
>  config/rootfiles/common/python3-editables | 12 ++++
>  lfs/python3-editables                     | 85 +++++++++++++++++++++++
>  make.sh                                   |  4 +-
>  3 files changed, 98 insertions(+), 3 deletions(-)
>  create mode 100644 config/rootfiles/common/python3-editables
>  create mode 100644 lfs/python3-editables
> 
> diff --git a/config/rootfiles/common/python3-editables 
> b/config/rootfiles/common/python3-editables
> new file mode 100644
> index 000000000..6b5b36e52
> --- /dev/null
> +++ b/config/rootfiles/common/python3-editables
> @@ -0,0 +1,12 @@
> +#usr/lib/python3.10/site-packages/editables
> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info
> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/INSTALLER
> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/LICENSE.txt
> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/METADATA
> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/RECORD
> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/REQUESTED
> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/WHEEL
> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/direct_url.json
> +#usr/lib/python3.10/site-packages/editables/__init__.py
> +#usr/lib/python3.10/site-packages/editables/py.typed
> +#usr/lib/python3.10/site-packages/editables/redirector.py
> diff --git a/lfs/python3-editables b/lfs/python3-editables
> new file mode 100644
> index 000000000..cb5b33d45
> --- /dev/null
> +++ b/lfs/python3-editables
> @@ -0,0 +1,85 @@
> +###############################################################################
> +#                                                                      
>        #
> +# IPFire.org - A linux based firewall                                  
>        #
> +# Copyright (C) 2007-2024  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.5
> +
> +THISAPP    = editables-$(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 = 
> 0daa314ad6841e8562a96923cd15b367995963efa7cff72fc1ff82232d9a1e07ee2dc30a8cba21195199c976335bfb2ebca720deaeafbd484a865235c97551a1
> +
> +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 zxf $(DIR_DL)/$(DL_FILE)
> +	cd $(DIR_APP) && python3 -m build \
> +				--no-isolation \
> +				--wheel
> +	cd $(DIR_APP) && pip3 install \
> +				--no-build-isolation \
> +				--root="/" \
> +				--no-deps \
> +				--ignore-installed \
> +				dist/*.whl
> +	# remove temp build files in /root/.cache from rootfile
> +	cd $(DIR_APP) && rm -R /root/.cache/
> +	@rm -rf $(DIR_APP)
> +	@$(POSTBUILD)
> diff --git a/make.sh b/make.sh
> index d914a76e0..1466574d0 100755
> --- a/make.sh
> +++ b/make.sh
> @@ -1595,6 +1595,7 @@ buildipfire() {
>    lfsmake2 python3-terminaltables
>    lfsmake2 python3-pkgconfig
>    lfsmake2 python3-msgpack
> +  lfsmake2 python3-editables
>    lfsmake2 python3-hatchling
>    lfsmake2 python3-hatch-vcs
>    lfsmake2 python3-hatch-fancy-pypi-readme
> @@ -1651,9 +1652,6 @@ buildipfire() {
>    lfsmake2 dnsdist
>    lfsmake2 bird
>    lfsmake2 libyang
> -  lfsmake2 abseil-cpp
> -  lfsmake2 protobuf
> -  lfsmake2 protobuf-c
>    lfsmake2 frr
>    lfsmake2 dmidecode
>    lfsmake2 mcelog
  
Michael Tremer Jan. 30, 2024, 2:57 p.m. UTC | #2
Oops. I just corrected this.

-Michael

> On 30 Jan 2024, at 14:11, Arne Fitzenreiter <arne_f@ipfire.org> wrote:
> 
> Hi,
> 
> this reverts changes for frr deps (protobuf) on make.sh
> 
> Arne
> 
> Am 2024-01-29 14:41, schrieb Adolf Belka:
>> - lfs and rootfile created.
>> - rootfile put into common as it is only used as a build dependency.
>> - Used pyproject.toml build approach
>> Tested-by: Adolf Belka <adolf.belka@ipfire.org>
>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>> ---
>> config/rootfiles/common/python3-editables | 12 ++++
>> lfs/python3-editables                     | 85 +++++++++++++++++++++++
>> make.sh                                   |  4 +-
>> 3 files changed, 98 insertions(+), 3 deletions(-)
>> create mode 100644 config/rootfiles/common/python3-editables
>> create mode 100644 lfs/python3-editables
>> diff --git a/config/rootfiles/common/python3-editables b/config/rootfiles/common/python3-editables
>> new file mode 100644
>> index 000000000..6b5b36e52
>> --- /dev/null
>> +++ b/config/rootfiles/common/python3-editables
>> @@ -0,0 +1,12 @@
>> +#usr/lib/python3.10/site-packages/editables
>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info
>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/INSTALLER
>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/LICENSE.txt
>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/METADATA
>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/RECORD
>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/REQUESTED
>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/WHEEL
>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/direct_url.json
>> +#usr/lib/python3.10/site-packages/editables/__init__.py
>> +#usr/lib/python3.10/site-packages/editables/py.typed
>> +#usr/lib/python3.10/site-packages/editables/redirector.py
>> diff --git a/lfs/python3-editables b/lfs/python3-editables
>> new file mode 100644
>> index 000000000..cb5b33d45
>> --- /dev/null
>> +++ b/lfs/python3-editables
>> @@ -0,0 +1,85 @@
>> +###############################################################################
>> +#                                                                             #
>> +# IPFire.org - A linux based firewall                                         #
>> +# Copyright (C) 2007-2024  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.5
>> +
>> +THISAPP    = editables-$(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 = 0daa314ad6841e8562a96923cd15b367995963efa7cff72fc1ff82232d9a1e07ee2dc30a8cba21195199c976335bfb2ebca720deaeafbd484a865235c97551a1
>> +
>> +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 zxf $(DIR_DL)/$(DL_FILE)
>> + cd $(DIR_APP) && python3 -m build \
>> + --no-isolation \
>> + --wheel
>> + cd $(DIR_APP) && pip3 install \
>> + --no-build-isolation \
>> + --root="/" \
>> + --no-deps \
>> + --ignore-installed \
>> + dist/*.whl
>> + # remove temp build files in /root/.cache from rootfile
>> + cd $(DIR_APP) && rm -R /root/.cache/
>> + @rm -rf $(DIR_APP)
>> + @$(POSTBUILD)
>> diff --git a/make.sh b/make.sh
>> index d914a76e0..1466574d0 100755
>> --- a/make.sh
>> +++ b/make.sh
>> @@ -1595,6 +1595,7 @@ buildipfire() {
>>   lfsmake2 python3-terminaltables
>>   lfsmake2 python3-pkgconfig
>>   lfsmake2 python3-msgpack
>> +  lfsmake2 python3-editables
>>   lfsmake2 python3-hatchling
>>   lfsmake2 python3-hatch-vcs
>>   lfsmake2 python3-hatch-fancy-pypi-readme
>> @@ -1651,9 +1652,6 @@ buildipfire() {
>>   lfsmake2 dnsdist
>>   lfsmake2 bird
>>   lfsmake2 libyang
>> -  lfsmake2 abseil-cpp
>> -  lfsmake2 protobuf
>> -  lfsmake2 protobuf-c
>>   lfsmake2 frr
>>   lfsmake2 dmidecode
>>   lfsmake2 mcelog
  
Adolf Belka Jan. 30, 2024, 4:20 p.m. UTC | #3
Hi All,

Yes that was me. I know what happened now.

The borgbackup update set was becoming so large that at a certain point I stashed it and worked on something else. Then I came back to it and continued working on it.

However I also did a git pull on my ipfire local repo so I got the newer make.sh file.

I did actually spot it when I was doing the commits for the borgbackup set and I thought I had done the correction on all the make.sh versions for the new files but I obviously missed the python3-editables set.

Thanks for catching it for me.

Moral of the story, don't do a git pull when you have a partially done patch set update :-)

Regards,
Adolf.


On 30/01/2024 15:57, Michael Tremer wrote:
> Oops. I just corrected this.
> 
> -Michael
> 
>> On 30 Jan 2024, at 14:11, Arne Fitzenreiter <arne_f@ipfire.org> wrote:
>>
>> Hi,
>>
>> this reverts changes for frr deps (protobuf) on make.sh
>>
>> Arne
>>
>> Am 2024-01-29 14:41, schrieb Adolf Belka:
>>> - lfs and rootfile created.
>>> - rootfile put into common as it is only used as a build dependency.
>>> - Used pyproject.toml build approach
>>> Tested-by: Adolf Belka <adolf.belka@ipfire.org>
>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>> ---
>>> config/rootfiles/common/python3-editables | 12 ++++
>>> lfs/python3-editables                     | 85 +++++++++++++++++++++++
>>> make.sh                                   |  4 +-
>>> 3 files changed, 98 insertions(+), 3 deletions(-)
>>> create mode 100644 config/rootfiles/common/python3-editables
>>> create mode 100644 lfs/python3-editables
>>> diff --git a/config/rootfiles/common/python3-editables b/config/rootfiles/common/python3-editables
>>> new file mode 100644
>>> index 000000000..6b5b36e52
>>> --- /dev/null
>>> +++ b/config/rootfiles/common/python3-editables
>>> @@ -0,0 +1,12 @@
>>> +#usr/lib/python3.10/site-packages/editables
>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info
>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/INSTALLER
>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/LICENSE.txt
>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/METADATA
>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/RECORD
>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/REQUESTED
>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/WHEEL
>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/direct_url.json
>>> +#usr/lib/python3.10/site-packages/editables/__init__.py
>>> +#usr/lib/python3.10/site-packages/editables/py.typed
>>> +#usr/lib/python3.10/site-packages/editables/redirector.py
>>> diff --git a/lfs/python3-editables b/lfs/python3-editables
>>> new file mode 100644
>>> index 000000000..cb5b33d45
>>> --- /dev/null
>>> +++ b/lfs/python3-editables
>>> @@ -0,0 +1,85 @@
>>> +###############################################################################
>>> +#                                                                             #
>>> +# IPFire.org - A linux based firewall                                         #
>>> +# Copyright (C) 2007-2024  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.5
>>> +
>>> +THISAPP    = editables-$(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 = 0daa314ad6841e8562a96923cd15b367995963efa7cff72fc1ff82232d9a1e07ee2dc30a8cba21195199c976335bfb2ebca720deaeafbd484a865235c97551a1
>>> +
>>> +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 zxf $(DIR_DL)/$(DL_FILE)
>>> + cd $(DIR_APP) && python3 -m build \
>>> + --no-isolation \
>>> + --wheel
>>> + cd $(DIR_APP) && pip3 install \
>>> + --no-build-isolation \
>>> + --root="/" \
>>> + --no-deps \
>>> + --ignore-installed \
>>> + dist/*.whl
>>> + # remove temp build files in /root/.cache from rootfile
>>> + cd $(DIR_APP) && rm -R /root/.cache/
>>> + @rm -rf $(DIR_APP)
>>> + @$(POSTBUILD)
>>> diff --git a/make.sh b/make.sh
>>> index d914a76e0..1466574d0 100755
>>> --- a/make.sh
>>> +++ b/make.sh
>>> @@ -1595,6 +1595,7 @@ buildipfire() {
>>>    lfsmake2 python3-terminaltables
>>>    lfsmake2 python3-pkgconfig
>>>    lfsmake2 python3-msgpack
>>> +  lfsmake2 python3-editables
>>>    lfsmake2 python3-hatchling
>>>    lfsmake2 python3-hatch-vcs
>>>    lfsmake2 python3-hatch-fancy-pypi-readme
>>> @@ -1651,9 +1652,6 @@ buildipfire() {
>>>    lfsmake2 dnsdist
>>>    lfsmake2 bird
>>>    lfsmake2 libyang
>>> -  lfsmake2 abseil-cpp
>>> -  lfsmake2 protobuf
>>> -  lfsmake2 protobuf-c
>>>    lfsmake2 frr
>>>    lfsmake2 dmidecode
>>>    lfsmake2 mcelog
>
  
Michael Tremer Jan. 30, 2024, 5:38 p.m. UTC | #4
Happens :) It was just three lines that confused me quite a bit :)

> On 30 Jan 2024, at 16:20, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> Hi All,
> 
> Yes that was me. I know what happened now.
> 
> The borgbackup update set was becoming so large that at a certain point I stashed it and worked on something else. Then I came back to it and continued working on it.
> 
> However I also did a git pull on my ipfire local repo so I got the newer make.sh file.
> 
> I did actually spot it when I was doing the commits for the borgbackup set and I thought I had done the correction on all the make.sh versions for the new files but I obviously missed the python3-editables set.
> 
> Thanks for catching it for me.
> 
> Moral of the story, don't do a git pull when you have a partially done patch set update :-)
> 
> Regards,
> Adolf.
> 
> 
> On 30/01/2024 15:57, Michael Tremer wrote:
>> Oops. I just corrected this.
>> -Michael
>>> On 30 Jan 2024, at 14:11, Arne Fitzenreiter <arne_f@ipfire.org> wrote:
>>> 
>>> Hi,
>>> 
>>> this reverts changes for frr deps (protobuf) on make.sh
>>> 
>>> Arne
>>> 
>>> Am 2024-01-29 14:41, schrieb Adolf Belka:
>>>> - lfs and rootfile created.
>>>> - rootfile put into common as it is only used as a build dependency.
>>>> - Used pyproject.toml build approach
>>>> Tested-by: Adolf Belka <adolf.belka@ipfire.org>
>>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>>> ---
>>>> config/rootfiles/common/python3-editables | 12 ++++
>>>> lfs/python3-editables                     | 85 +++++++++++++++++++++++
>>>> make.sh                                   |  4 +-
>>>> 3 files changed, 98 insertions(+), 3 deletions(-)
>>>> create mode 100644 config/rootfiles/common/python3-editables
>>>> create mode 100644 lfs/python3-editables
>>>> diff --git a/config/rootfiles/common/python3-editables b/config/rootfiles/common/python3-editables
>>>> new file mode 100644
>>>> index 000000000..6b5b36e52
>>>> --- /dev/null
>>>> +++ b/config/rootfiles/common/python3-editables
>>>> @@ -0,0 +1,12 @@
>>>> +#usr/lib/python3.10/site-packages/editables
>>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info
>>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/INSTALLER
>>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/LICENSE.txt
>>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/METADATA
>>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/RECORD
>>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/REQUESTED
>>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/WHEEL
>>>> +#usr/lib/python3.10/site-packages/editables-0.5.dist-info/direct_url.json
>>>> +#usr/lib/python3.10/site-packages/editables/__init__.py
>>>> +#usr/lib/python3.10/site-packages/editables/py.typed
>>>> +#usr/lib/python3.10/site-packages/editables/redirector.py
>>>> diff --git a/lfs/python3-editables b/lfs/python3-editables
>>>> new file mode 100644
>>>> index 000000000..cb5b33d45
>>>> --- /dev/null
>>>> +++ b/lfs/python3-editables
>>>> @@ -0,0 +1,85 @@
>>>> +###############################################################################
>>>> +#                                                                             #
>>>> +# IPFire.org - A linux based firewall                                         #
>>>> +# Copyright (C) 2007-2024  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.5
>>>> +
>>>> +THISAPP    = editables-$(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 = 0daa314ad6841e8562a96923cd15b367995963efa7cff72fc1ff82232d9a1e07ee2dc30a8cba21195199c976335bfb2ebca720deaeafbd484a865235c97551a1
>>>> +
>>>> +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 zxf $(DIR_DL)/$(DL_FILE)
>>>> + cd $(DIR_APP) && python3 -m build \
>>>> + --no-isolation \
>>>> + --wheel
>>>> + cd $(DIR_APP) && pip3 install \
>>>> + --no-build-isolation \
>>>> + --root="/" \
>>>> + --no-deps \
>>>> + --ignore-installed \
>>>> + dist/*.whl
>>>> + # remove temp build files in /root/.cache from rootfile
>>>> + cd $(DIR_APP) && rm -R /root/.cache/
>>>> + @rm -rf $(DIR_APP)
>>>> + @$(POSTBUILD)
>>>> diff --git a/make.sh b/make.sh
>>>> index d914a76e0..1466574d0 100755
>>>> --- a/make.sh
>>>> +++ b/make.sh
>>>> @@ -1595,6 +1595,7 @@ buildipfire() {
>>>>   lfsmake2 python3-terminaltables
>>>>   lfsmake2 python3-pkgconfig
>>>>   lfsmake2 python3-msgpack
>>>> +  lfsmake2 python3-editables
>>>>   lfsmake2 python3-hatchling
>>>>   lfsmake2 python3-hatch-vcs
>>>>   lfsmake2 python3-hatch-fancy-pypi-readme
>>>> @@ -1651,9 +1652,6 @@ buildipfire() {
>>>>   lfsmake2 dnsdist
>>>>   lfsmake2 bird
>>>>   lfsmake2 libyang
>>>> -  lfsmake2 abseil-cpp
>>>> -  lfsmake2 protobuf
>>>> -  lfsmake2 protobuf-c
>>>>   lfsmake2 frr
>>>>   lfsmake2 dmidecode
>>>>   lfsmake2 mcelog
  

Patch

diff --git a/config/rootfiles/common/python3-editables b/config/rootfiles/common/python3-editables
new file mode 100644
index 000000000..6b5b36e52
--- /dev/null
+++ b/config/rootfiles/common/python3-editables
@@ -0,0 +1,12 @@ 
+#usr/lib/python3.10/site-packages/editables
+#usr/lib/python3.10/site-packages/editables-0.5.dist-info
+#usr/lib/python3.10/site-packages/editables-0.5.dist-info/INSTALLER
+#usr/lib/python3.10/site-packages/editables-0.5.dist-info/LICENSE.txt
+#usr/lib/python3.10/site-packages/editables-0.5.dist-info/METADATA
+#usr/lib/python3.10/site-packages/editables-0.5.dist-info/RECORD
+#usr/lib/python3.10/site-packages/editables-0.5.dist-info/REQUESTED
+#usr/lib/python3.10/site-packages/editables-0.5.dist-info/WHEEL
+#usr/lib/python3.10/site-packages/editables-0.5.dist-info/direct_url.json
+#usr/lib/python3.10/site-packages/editables/__init__.py
+#usr/lib/python3.10/site-packages/editables/py.typed
+#usr/lib/python3.10/site-packages/editables/redirector.py
diff --git a/lfs/python3-editables b/lfs/python3-editables
new file mode 100644
index 000000000..cb5b33d45
--- /dev/null
+++ b/lfs/python3-editables
@@ -0,0 +1,85 @@ 
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2024  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.5
+
+THISAPP    = editables-$(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 = 0daa314ad6841e8562a96923cd15b367995963efa7cff72fc1ff82232d9a1e07ee2dc30a8cba21195199c976335bfb2ebca720deaeafbd484a865235c97551a1
+
+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 zxf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && python3 -m build \
+				--no-isolation \
+				--wheel
+	cd $(DIR_APP) && pip3 install \
+				--no-build-isolation \
+				--root="/" \
+				--no-deps \
+				--ignore-installed \
+				dist/*.whl
+	# remove temp build files in /root/.cache from rootfile
+	cd $(DIR_APP) && rm -R /root/.cache/
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
index d914a76e0..1466574d0 100755
--- a/make.sh
+++ b/make.sh
@@ -1595,6 +1595,7 @@  buildipfire() {
   lfsmake2 python3-terminaltables
   lfsmake2 python3-pkgconfig
   lfsmake2 python3-msgpack
+  lfsmake2 python3-editables
   lfsmake2 python3-hatchling
   lfsmake2 python3-hatch-vcs
   lfsmake2 python3-hatch-fancy-pypi-readme
@@ -1651,9 +1652,6 @@  buildipfire() {
   lfsmake2 dnsdist
   lfsmake2 bird
   lfsmake2 libyang
-  lfsmake2 abseil-cpp
-  lfsmake2 protobuf
-  lfsmake2 protobuf-c
   lfsmake2 frr
   lfsmake2 dmidecode
   lfsmake2 mcelog