Bug 157722

Summary: Building updated distribution using symbolic link
Product: [Fedora] Fedora Reporter: David Kuestler <dkuestler>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED RAWHIDE QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 3   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-05-16 14:00:41 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Kuestler 2005-05-14 02:42:53 UTC
Description of problem:
When updating or adding extra packages to a standard distribution the standard
distribution can only be a directory instead of a symbolic link.

Version-Release number of selected component (if applicable):
long standing problem - all versions ;-)

How reproducible:
Copy a standard distribution to a subdirectory and  make a symbolic link to this
subdirectory from a build directory.

Steps to Reproduce:
1. Copy a standard distribution to a subdirectory.
2. Make a symbolic link to this subdirectory from a build directory.
3. Try to build a new distribution.
  
Actual results:
The symbolic linked directory is not recognised.

Expected results:
The symbolic link behaves as a subdirectory.

Additional info:
The problem is caused by the 'find' command not descending a subdirectory if it
is a symbolic link.
The fix is to add a '/' to the 'find' command syntax.
Patch :
diff -urN anaconda-10.2.0.47.orig/scripts/splittree.py
anaconda-10.2.0.47/scripts/splittree.py
--- anaconda-10.2.0.47.orig/scripts/splittree.py	2005-04-01 09:16:56.000000000 +1000
+++ anaconda-10.2.0.47/scripts/splittree.py	2005-04-16 09:52:58.977919347 +1000
@@ -199,12 +199,12 @@
 
         for i in range(self.bin_list[0], self.bin_list[-1] + 1):
             if i == 1:
-                p = os.popen('find %s -type f -not -name .discinfo' %
self.dist_dir, 'r')
+                p = os.popen('find %s/ -type f -not -name .discinfo' %
self.dist_dir, 'r')
                 filelist = p.read()
                 p.close()
                 filelist = string.split(filelist)
                 
-                p = os.popen('find %s -type d -not -name RPMS -not -name SRPMS'
% self.dist_dir, 'r')
+                p = os.popen('find %s/ -type d -not -name RPMS -not -name
SRPMS' % self.dist_dir, 'r')
                 dirlist = p.read()
                 p.close()
                 dirlist = string.split(dirlist)

Comment 1 Chris Lumens 2005-05-16 14:00:41 UTC
Fixed in CVS.  Thanks for the patch.