When we are searching for changes in rootfiles, we walk through each file that we have found in the build and check if it exists in the rootfile. That check interpreted filenames as regular expressions which caused a problem in the case of "/usr/bin/[".
This patch changes that grep will only search for an exact string match (-F) and the string must be the entire line (-x).
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- lfs/Config | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lfs/Config b/lfs/Config index 1a59ebe1e..8547f69c6 100644 --- a/lfs/Config +++ b/lfs/Config @@ -292,13 +292,13 @@ define POSTBUILD fi; \ sed -e "s/BUILDTARGET/$(BUILDTARGET)/g" -e "s/KVER/$(KVER)/g" -e "s/xxxMACHINExxx/$(BUILD_ARCH)/g" $$ROOTFILE > $(TARGET)_rootfile; \ while read -r line; do \ - if grep -qG "^#$$line$$" $(TARGET)_rootfile; then echo "#$$line" >> $(TARGET); \ - elif grep -qG "^$$line$$" $(TARGET)_rootfile ; then echo "$$line" >> $(TARGET); \ + if grep -qFx "#$$line" $(TARGET)_rootfile; then echo "#$$line" >> $(TARGET); \ + elif grep -qFx "$$line" $(TARGET)_rootfile ; then echo "$$line" >> $(TARGET); \ else echo "+$$line" >> $(TARGET); \ fi; \ done < $(TARGET)_diff; \ grep -v "^#" $(TARGET)_rootfile | while read -r line; do \ - if ! grep -qG "^$$line$$" $(TARGET)_diff ; then echo "-$$line" >> $(TARGET); \ + if ! grep -qFx "$$line" $(TARGET)_diff ; then echo "-$$line" >> $(TARGET); \ fi; \ done; \ rm -f $(TARGET)_rootfile; \
Reviewed-by: Adolf Belka adolf.belka@ipfire.org
On 07/12/2024 12:50, Michael Tremer wrote:
When we are searching for changes in rootfiles, we walk through each file that we have found in the build and check if it exists in the rootfile. That check interpreted filenames as regular expressions which caused a problem in the case of "/usr/bin/[".
This patch changes that grep will only search for an exact string match (-F) and the string must be the entire line (-x).
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
lfs/Config | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lfs/Config b/lfs/Config index 1a59ebe1e..8547f69c6 100644 --- a/lfs/Config +++ b/lfs/Config @@ -292,13 +292,13 @@ define POSTBUILD fi; \ sed -e "s/BUILDTARGET/$(BUILDTARGET)/g" -e "s/KVER/$(KVER)/g" -e "s/xxxMACHINExxx/$(BUILD_ARCH)/g" $$ROOTFILE > $(TARGET)_rootfile; \ while read -r line; do \
if grep -qG "^#$$line$$" $(TARGET)_rootfile; then echo "#$$line" >> $(TARGET); \
elif grep -qG "^$$line$$" $(TARGET)_rootfile ; then echo "$$line" >> $(TARGET); \
if grep -qFx "#$$line" $(TARGET)_rootfile; then echo "#$$line" >> $(TARGET); \
done < $(TARGET)_diff; \ grep -v "^#" $(TARGET)_rootfile | while read -r line; do \elif grep -qFx "$$line" $(TARGET)_rootfile ; then echo "$$line" >> $(TARGET); \ else echo "+$$line" >> $(TARGET); \ fi; \
if ! grep -qG "^$$line$$" $(TARGET)_diff ; then echo "-$$line" >> $(TARGET); \
done; \ rm -f $(TARGET)_rootfile; \if ! grep -qFx "$$line" $(TARGET)_diff ; then echo "-$$line" >> $(TARGET); \ fi; \