For discussion of Alpine Linux development and developer support

2

[alpine-devel] clean() cleanup and add cleanup_srcdir

Chloe Kudryavtsev
Details
Message ID
<20181208182254.4300-1-toast@toastin.space>
Sender timestamp
1544293361
DKIM signature
missing
Download raw message

---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---

[alpine-devel] [PATCH 1/2] Make clean() use cleanup()

Chloe Kudryavtsev
Details
Message ID
<20181208182254.4300-2-toast@toastin.space>
In-Reply-To
<20181208182254.4300-1-toast@toastin.space> (view parent)
Sender timestamp
1544293363
DKIM signature
missing
Download raw message
Patch: +2 -3
Avoid DRY issues, and increase consistency.
---
Patch sent in separately, as it may make sense to merge even if patch 2
is rejected.

 abuild.in | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/abuild.in b/abuild.in
index 566f528..eceb9f2 100644
--- a/abuild.in
+++ b/abuild.in
@@ -472,9 +472,8 @@ unpack() {
 
 # cleanup source and package dir
 clean() {
-	msg "Cleaning temporary build dirs..."
-	rm -rf "$srcdir"
-	rm -rf "$pkgbasedir"
+	cleanup srcdir
+	cleanup pkgdir
 }
 
 # cleanup fetched sources
-- 
2.19.2



---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---

[alpine-devel] [PATCH 2/2] Add default_cleanup_srcdir

Chloe Kudryavtsev
Details
Message ID
<20181208182254.4300-3-toast@toastin.space>
In-Reply-To
<20181208182254.4300-1-toast@toastin.space> (view parent)
Sender timestamp
1544293364
DKIM signature
missing
Download raw message
Patch: +9 -1
In some cases, a simple rm -rf is not sufficent to clean srcdir.
One such case is the new go module system, that marks everything as
read-only - thus only letting root rm -rf it without a chmod.
There is a command intended to clean them - `go clean -modcache`.
However, for that to work, GOPATH must be defined and existent.
Running chmod for all srcdir cleanups makes no sense, nor does enforcing
root, or putting global overrides just for go.

This patch allows overriding what happens on `cleanup srcdir`, by
overriding cleanup_srcdir, and allows the use of default_cleanup_srcdir.

In our go example, it might be used as such:

cleanup_srcdir() {
	go clean -modcache
	default_cleanup_srcdir
}
---
 abuild.in | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/abuild.in b/abuild.in
index eceb9f2..bee3ec2 100644
--- a/abuild.in
+++ b/abuild.in
@@ -76,6 +76,14 @@ want_check() {
 	return 0
 }
 
+default_cleanup_srcdir() {
+	rm -rf "$srcdir"
+}
+
+cleanup_srcdir() {
+	default_cleanup_srcdir
+}
+
 cleanup() {
 	local i=
 	[ -z "$subpkgdir" ] && set_xterm_title ""
@@ -90,7 +98,7 @@ cleanup() {
 				abuild-rmtemp "$BUILD_ROOT"
 			fi;;
 		pkgdir) msg "Cleaning up pkgdir"; rm -rf "$pkgbasedir";;
-		srcdir) msg "Cleaning up srcdir"; rm -rf "$srcdir";;
+		srcdir) msg "Cleaning up srcdir"; cleanup_srcdir;;
 		deps)
 			if [ -z "$install_after" ] && [ -n "$uninstall_after" ]; then
 				msg "Uninstalling dependencies..."
-- 
2.19.2



---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---