public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
From: Arne Fitzenreiter <git@ipfire.org>
To: ipfire-scm@lists.ipfire.org
Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. 23dc6e0b23dc519b41a26ff25ecf0e221863128f
Date: Mon, 13 Jan 2020 21:38:38 +0000	[thread overview]
Message-ID: <47xRmG5x5Tz2yXW@people01.haj.ipfire.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 8696 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 2.x development tree".

The branch, next has been updated
       via  23dc6e0b23dc519b41a26ff25ecf0e221863128f (commit)
       via  1475bc53a4757af1fca78dcf521dfd5f11d1a819 (commit)
       via  97756e21241b2eb6823368b4d3ab2856e18856ca (commit)
       via  aab6ec606a068f153e1a8cd5920d5c411e018639 (commit)
      from  eba8e481e1cc0a5bbd61d95f2022735d4e9efab0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 23dc6e0b23dc519b41a26ff25ecf0e221863128f
Merge: 1475bc53a eba8e481e
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date:   Mon Jan 13 21:38:16 2020 +0000

    Merge branch 'next' of git.ipfire.org:/pub/git/ipfire-2.x into next

commit 1475bc53a4757af1fca78dcf521dfd5f11d1a819
Author: Daniel Weismüller <whytea(a)ipfire.org>
Date:   Fri Jan 10 16:06:00 2020 +0100

    filesystem-cleanup: Add parameter to show changes
    
    Use --dry-run to only show files that would be deleted, but do
    not actually delete them.
    
    Signed-off-by: Daniel Weismüller <daniel.weismueller(a)ipfire.org>
    Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>

commit 97756e21241b2eb6823368b4d3ab2856e18856ca
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Fri Jan 10 11:12:36 2020 +0000

    filesystem-cleanup: Automatically remove old libraries
    
    This script runs through /usr/lib and /lib and tries to find
    all libraries which are no longer being used and more and
    deletes them.
    
    This will help us to free space on root partitions that
    are limited to 2GB.
    
    However, the script does not cover 100% of the cases, so that
    some files still need to be deleted manually (e.g. boost with
    their weird versioning schema).
    
    This script should be executed after a Core Update has been
    installed.
    
    Fixes: #12270
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
    Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
    Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>

commit aab6ec606a068f153e1a8cd5920d5c411e018639
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Mon Jan 13 21:06:38 2020 +0000

    amazon-ssm-agent: Move source to GOPATH
    
    Go won't build when this is only symlinked any more.
    
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
    Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>

-----------------------------------------------------------------------

Summary of changes:
 config/rootfiles/common/aarch64/stage2             |   1 +
 config/rootfiles/common/stage2                     |   1 +
 config/rootfiles/common/x86_64/stage2              |   1 +
 lfs/amazon-ssm-agent                               |   2 +-
 .../enable_codel => src/scripts/filesystem-cleanup | 104 ++++++++++++++-------
 5 files changed, 76 insertions(+), 33 deletions(-)
 copy config/udev/enable_codel => src/scripts/filesystem-cleanup (52%)

Difference in files:
diff --git a/config/rootfiles/common/aarch64/stage2 b/config/rootfiles/common/aarch64/stage2
index 366ab2bb0..2d9a70f81 100644
--- a/config/rootfiles/common/aarch64/stage2
+++ b/config/rootfiles/common/aarch64/stage2
@@ -92,6 +92,7 @@ usr/local/bin/backupiso
 usr/local/bin/connscheduler
 usr/local/bin/consort.sh
 usr/local/bin/convert-ovpn
+usr/local/bin/filesystem-cleanup
 usr/local/bin/hddshutdown
 usr/local/bin/ipsec-interfaces
 usr/local/bin/makegraphs
diff --git a/config/rootfiles/common/stage2 b/config/rootfiles/common/stage2
index d9068415b..b0680914e 100644
--- a/config/rootfiles/common/stage2
+++ b/config/rootfiles/common/stage2
@@ -91,6 +91,7 @@ usr/local/bin/backupiso
 usr/local/bin/connscheduler
 usr/local/bin/consort.sh
 usr/local/bin/convert-ovpn
+usr/local/bin/filesystem-cleanup
 usr/local/bin/hddshutdown
 usr/local/bin/ipsec-interfaces
 usr/local/bin/makegraphs
diff --git a/config/rootfiles/common/x86_64/stage2 b/config/rootfiles/common/x86_64/stage2
index d90e3d70a..9d3334e69 100644
--- a/config/rootfiles/common/x86_64/stage2
+++ b/config/rootfiles/common/x86_64/stage2
@@ -93,6 +93,7 @@ usr/local/bin/backupiso
 usr/local/bin/connscheduler
 usr/local/bin/consort.sh
 usr/local/bin/convert-ovpn
+usr/local/bin/filesystem-cleanup
 usr/local/bin/hddshutdown
 usr/local/bin/ipsec-interfaces
 usr/local/bin/makegraphs
diff --git a/lfs/amazon-ssm-agent b/lfs/amazon-ssm-agent
index b477690a4..a41dc08bb 100644
--- a/lfs/amazon-ssm-agent
+++ b/lfs/amazon-ssm-agent
@@ -83,7 +83,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 
 	# The build system is searching for code in a certain path
 	mkdir -pv $$(dirname $(DIR_BUILD))
-	ln -svf --relative $(DIR_APP) $(DIR_BUILD)
+	mv -v $(DIR_APP) $(DIR_BUILD)
 
 	# Disable style check
 	cd $(DIR_BUILD) && sed -e "/checkstyle.sh/d" -i makefile
diff --git a/src/scripts/filesystem-cleanup b/src/scripts/filesystem-cleanup
new file mode 100644
index 000000000..7e7accc7a
--- /dev/null
+++ b/src/scripts/filesystem-cleanup
@@ -0,0 +1,97 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire 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 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire 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 IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2020 IPFire Team <info(a)ipfire.org>.                        #
+#                                                                          #
+############################################################################
+
+PATHS=(
+	/usr/lib
+	/lib
+)
+
+main() {
+	local dry_run="false"
+
+	while [ $# -gt 0 ]; do
+		case "${1}" in
+			--dry-run)
+				dry_run="true"
+				;;
+
+			*)
+				echo "${0}: Invalid argument: ${1}" >&2
+				return 2
+				;;
+		esac
+		shift
+	done
+
+	# Update the runtime linker cache (this may fix any broken symlinks)
+	ldconfig
+
+	local path
+	for path in ${PATHS[@]}; do
+		echo "Searching in ${path}..."
+
+		# Find all files called libsomething.so.N
+		local lib
+		for lib in $(find "${path}" -maxdepth 1 -type l -name "lib*.so.*" | sort); do
+			# Read the name of the linked library
+			local link="$(readlink -m "${lib}")"
+
+			# We have two versioning schemas that we need to distinguish...
+			local files=()
+			case "${link}" in
+				# Libraries called libsomething-N.so
+				*/lib*-*.so)
+					files+=( ${link%-*}-* )
+					;;
+
+				# Libraries called libsomething.so.N.*
+				*)
+					files+=( ${lib}* )
+					;;
+			esac
+
+			# Remove all files that have the same base name than
+			# the library we are looking at, apart from the symlink
+			# and the linked file itself.
+			local file
+			for file in ${files[@]}; do
+				case "${file}" in
+					# Ignore these files
+					${lib}|${link})
+						;;
+
+					*)
+						echo "Removing ${file}..."
+
+						# Actually remove the file (maybe)
+						if [ "${dry_run}" = "false" ]; then
+							unlink "${file}"
+						fi
+						;;
+				esac
+			done
+		done
+	done
+}
+
+main "$@" || exit $?


hooks/post-receive
--
IPFire 2.x development tree

                 reply	other threads:[~2020-01-13 21:38 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47xRmG5x5Tz2yXW@people01.haj.ipfire.org \
    --to=git@ipfire.org \
    --cc=ipfire-scm@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox