[pacman-dev] [PATCH] makepkg: remove srclinks directory on error exit
When makepkg exits in create_srcpackage(), the (temporary) srclinks directory is left behind. Signed-off-by: Cedric Staniewski <cedric@gmx.ca> --- scripts/makepkg.sh.in | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index ceaa8a6..b618881 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -118,6 +118,7 @@ trap_exit() { echo error "$@" fi + [[ -n $srclinks ]] && rm -rf "$srclinks" exit 1 } -- 1.6.5.3
Cedric Staniewski wrote:
When makepkg exits in create_srcpackage(), the (temporary) srclinks directory is left behind.
Signed-off-by: Cedric Staniewski <cedric@gmx.ca> --- scripts/makepkg.sh.in | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index ceaa8a6..b618881 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -118,6 +118,7 @@ trap_exit() { echo error "$@" fi + [[ -n $srclinks ]] && rm -rf "$srclinks" exit 1 }
I am not sure about this as if the source package creation fails, I would like to be able to look in the directory to track down why. Much like how "-c" does not clear the source directory on a build failure. So my initial reaction is a -1. As an aside, did you actually encounter an error during source package creation or just note that could be left behind from the code? Allan
On 12/03/2009 05:08 AM, Allan McRae wrote:
Cedric Staniewski wrote:
When makepkg exits in create_srcpackage(), the (temporary) srclinks directory is left behind.
Signed-off-by: Cedric Staniewski <cedric@gmx.ca> --- scripts/makepkg.sh.in | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index ceaa8a6..b618881 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -118,6 +118,7 @@ trap_exit() { echo error "$@" fi + [[ -n $srclinks ]] && rm -rf "$srclinks" exit 1 }
I am not sure about this as if the source package creation fails, I would like to be able to look in the directory to track down why. Much like how "-c" does not clear the source directory on a build failure. So my initial reaction is a -1.
As an aside, did you actually encounter an error during source package creation or just note that could be left behind from the code?
I actually did not encounter an error but aborted via ctrl+c. Keeping this folder is useless in my opinion as there are error messages for pretty much everything and the three different external commands which are used (mkdir, ln, bsdtar) usually throw meaningful error messages, too. Aside from that this folder only contains smylinks anyway and I doubt they are useful for tracking down errors. Another alternative would be introducing a new cleanup function which is only run on SIGINT and moving this line there, though.
Cedric Staniewski wrote:
On 12/03/2009 05:08 AM, Allan McRae wrote:
Cedric Staniewski wrote:
When makepkg exits in create_srcpackage(), the (temporary) srclinks directory is left behind.
Signed-off-by: Cedric Staniewski <cedric@gmx.ca> --- scripts/makepkg.sh.in | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index ceaa8a6..b618881 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -118,6 +118,7 @@ trap_exit() { echo error "$@" fi + [[ -n $srclinks ]] && rm -rf "$srclinks" exit 1 }
I am not sure about this as if the source package creation fails, I would like to be able to look in the directory to track down why. Much like how "-c" does not clear the source directory on a build failure. So my initial reaction is a -1.
As an aside, did you actually encounter an error during source package creation or just note that could be left behind from the code?
I actually did not encounter an error but aborted via ctrl+c. Keeping this folder is useless in my opinion as there are error messages for pretty much everything and the three different external commands which are used (mkdir, ln, bsdtar) usually throw meaningful error messages, too. Aside from that this folder only contains smylinks anyway and I doubt they are useful for tracking down errors.
Another alternative would be introducing a new cleanup function which is only run on SIGINT and moving this line there, though.
OK, your comment about the external commands being used having good error messages has me convinced something needs done. It just seems a strange place for this particular clean up. Saying that, I'm not sure what would be a better place unless we had an error trap just for that function which passed on to trap_exit. Dan, Xavier, others: any comments?
On Thu, Dec 3, 2009 at 10:43 AM, Allan McRae <allan@archlinux.org> wrote:
OK, your comment about the external commands being used having good error messages has me convinced something needs done. It just seems a strange place for this particular clean up. Saying that, I'm not sure what would be a better place unless we had an error trap just for that function which passed on to trap_exit.
Dan, Xavier, others: any comments?
It might look a bit strange, but I am fine with that patch anyway.
Xavier wrote:
On Thu, Dec 3, 2009 at 10:43 AM, Allan McRae <allan@archlinux.org> wrote:
OK, your comment about the external commands being used having good error messages has me convinced something needs done. It just seems a strange place for this particular clean up. Saying that, I'm not sure what would be a better place unless we had an error trap just for that function which passed on to trap_exit.
Dan, Xavier, others: any comments?
It might look a bit strange, but I am fine with that patch anyway.
OK, pulled to my working branch. Allan
participants (3)
-
Allan McRae
-
Cedric Staniewski
-
Xavier