[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Quilt-dev] [RFC] Resolving symlinks
From: |
Wolfram Sang |
Subject: |
[Quilt-dev] [RFC] Resolving symlinks |
Date: |
Fri, 19 Dec 2008 14:59:11 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
quilt: Resolve symlinks for SUBDIR
This patch makes sure there are no symlinks in SUBDIR. So, they won't be used
with "quilt add". This helps in the following cases:
a) In some projects, symlinks are created during build. If a path inside a
patch relies on such a symlink, you can't apply it before building the project
(for example, include/asm in the kernel-tree).
b) It will take care of such a situation (symbolic ls output follows):
.:
drwxr-xr-x 1
lrwxrwxrwx link -> 1/2/3
./1:
total 4
drwxr-xr-x 2
./1/2:
total 8
drwxr-xr-x 3
drwxr-xr-x patches
./1/2/3:
total 0
-rw-r--r-- a
-rw-r--r-- b
-rw-r--r-- c
That is the basedir has a link to the relative path 1/2/3/. Directory 1/2/
contains a patches directory. If I am now in directory 1/2/3/ and make a new
patch, it will be added to the stack in 1/2/ as expected. If I use the _link_
in the basedir to reach 1/2/3/, quilt originally would not detect the patch
stack in 1/2/ and create it in 1/2/3/.
Signed-off-by: Wolfram Sang <address@hidden>
---
I hope you got the example :) Does anyone see sideeffects?
quilt/scripts/patchfns.in | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
Index: quilt/scripts/patchfns.in
===================================================================
--- quilt/scripts/patchfns.in.orig
+++ quilt/scripts/patchfns.in
@@ -985,14 +985,15 @@ quilt_command()
unset SUBDIR SUBDIR_DOWN
if ! [ -d "$QUILT_PATCHES" ]
then
- basedir=$PWD
+ basedir_orig=$(pwd -P)
+ basedir=$basedir_orig
while [ -n "$basedir" ]
do
basedir=${basedir%/*}
down=$down../
if [ -d "$basedir/$QUILT_PATCHES" ]
then
- SUBDIR="${PWD#$basedir/}/"
+ SUBDIR="${basedir_orig#$basedir/}/"
SUBDIR_DOWN=$down
if ! cd $basedir/
then
@@ -1002,7 +1003,7 @@ then
break
fi
done
- unset basedir down
+ unset basedir basedir_orig down
fi
: ${QUILT_SERIES:=series}
--
Dipl.-Ing. Wolfram Sang | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
signature.asc
Description: Digital signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Quilt-dev] [RFC] Resolving symlinks,
Wolfram Sang <=