Make a distinction between /usr/lib and /usr/libexec while checking

for abandoned files.

Say that there exists a '/usr/libexec/hal_lpadmin' in the installDIR of
the package but '/usr/libexec' is not written to the Files section of
the pspec.xml. If there's another path '/usr/lib' written in the Files section,
the string method find() used in get_abandoned_files() matches '/usr/libexec'
because they have exactly the same beginning.

This can either be fixed by postfixing all the directory paths in pspec.xml's with
'/' or appending a '/' during the abandoned files checking procedure.

Thanks to Gokmen Gorgen for reporting this erratic behaviour.
This commit is contained in:
Ozan Çağlayan
2009-01-17 15:01:02 +00:00
parent 458b2a9247
commit c3e32603cb
2 changed files with 7 additions and 1 deletions
+6
View File
@@ -1,3 +1,9 @@
2009-01-17 Ozan Çağlayan <ozan@pardus.org.tr>
* pisi/operations/build.py (get_abandoned_files): Delimit the paths
written in pspec.xml's Files section with a trailing '/' for not
matching similar patterns like /usr/lib and /usr/libexec during
abandoned files checking.
2009-01-14 Ozan Çağlayan <ozan@pardus.org.tr>
* pisi/cli/listavailable.py (print_packages): Resize the first column
dynamically according to the longest package name (#9021) and fix some
+1 -1
View File
@@ -376,7 +376,7 @@ class Builder:
for root, dirs, files in os.walk(install_dir):
for file_ in files:
already_in_package = False
fpath = pisi.util.join_path(root, file_)
fpath = pisi.util.join_path(root, file_) + '/'
for path in all_paths_in_packages:
if not fpath.find(path):
already_in_package = True