* Guillem Jover <[email protected]>, 2014-04-29, 08:11:
1. Simply revert the patch, and ignore issues w/ partial upgrades (at least for now?). 2. Revert the patch and add versioned depdendencies against the working patch package. This might require some dist-upgrade tests, though. 3. Fix the patch to take into account the old behaviour, by checking if either of the filenames (escaped and unescaped) are unsafe.

I guess the last one is the “safest option”.

For a quick fix, 3 is probably the best.

But I think this bug shows that validating diffs is not viable in the long run. We need to either fix patch(1) not to traverse directory symlinks, or implement a completely different strategy:

1) Unpack .orig.tar.
2) Delete all symlinks (and maybe also other non-regular files).
3) Apply patches.
4) Restore all the files deleted in step 2.


In another mail Javier suggested to check --dry-run output. I don't think this is feasible. Parsing --dry-run output is probably even harder than parsing patches, and after reading https://savannah.gnu.org/bugs/index.php?37642 I wouldn't trust it to be very "dry" anyway...

--
Jakub Wilk


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to