Done.
Thus spake Josh Aas ([EMAIL PROTECTED]):
Thanks for landing that stuff! For ease of application, patches for remaining issues are in this email. If you read this, you can ignore all previous emails...
1) mklibs.patch
A patch that updates the current initrd-source/mklibs to the current version of mklibs. The update primarily fixes a problem where mklibs might create recursive symlinks when canonizing library names. This happens when you build on ia64/RHEL3.
2) libcom_err.so.3.patch
A patch that adds the /usr/kerberos/lib directory to the library path list passed to mklibs. On ia64/RHEL3, libcom_err.so.3 is in that directory, and consequently without this patch mklibs barfs because it can't find libcom_err.so.3.
With these fixes, "make srpm" and "make rpm" work just fine on ia64/RHEL3 and i386/FC2. I haven't tried on other arch/os combinations yet, but it probably works on most combos.
-- Josh Aas Linux System Software Silicon Graphics, Inc. (SGI)
Index: initrd_source/mklibs =================================================================== RCS file: /cvsroot/systemimager/systemimager/initrd_source/mklibs,v retrieving revision 1.1 diff -u -r1.1 mklibs --- initrd_source/mklibs 8 Sep 2003 02:28:44 -0000 1.1 +++ initrd_source/mklibs 25 Dec 2004 18:47:52 -0000 @@ -143,7 +143,7 @@ # Num: Value Size Type Bind Vis Ndx Name # 1: 000000012002ab48 168 FUNC GLOBAL DEFAULT UND [EMAIL PROTECTED] (2) symline_regexp = \ - re.compile("\s*\d+: .+\s+\d+\s+\w+\s+(\w+)+\s+\w+\s+(\w+)\s+(\w+)") + re.compile("\s*\d+: .+\s+\d+\s+\w+\s+(\w+)+\s+\w+\s+(\w+)\s+([EMAIL PROTECTED])")
# Return undefined symbols in an object as a Set of tuples (name, weakness) def undefined_symbols(obj): @@ -345,7 +345,6 @@ match = pattern.match(x) if match: ldlib = match.group(1) - debug(DEBUG_NORMAL, "I: Using", ldlib, "as dynamic linker.") break if ldlib: break @@ -353,6 +352,8 @@ if not ldlib: sys.exit("E: Dynamic linker not found, aborting.")
+debug(DEBUG_NORMAL, "I: Using", ldlib, "as dynamic linker.") + # Check for rpaths for obj in objects.values(): rpath_val = rpath(obj) @@ -546,7 +547,12 @@
# Canonicalize library names. for lib in regexpfilter(os.listdir(dest_path), "(.*so[.\d]*)$").elems(): - soname = extract_soname(dest_path + "/" + lib) + this_lib_path = dest_path + "/" + lib + if os.path.islink(this_lib_path): + debug(DEBUG_VERBOSE, "Unlinking %s." % lib) + os.remove(this_lib_path) + continue + soname = extract_soname(this_lib_path) if soname: debug(DEBUG_VERBOSE, "Moving %s to %s." % (lib, soname)) os.rename(dest_path + "/" + lib, dest_path + "/" + soname) @@ -555,7 +561,8 @@ ld_file = find_lib(ldlib) ld_file_name = os.path.basename(ld_file)
-if not os.access(dest_path + "/" + lib, os.F_OK): +if not os.access(dest_path + "/" + ld_file_name, os.F_OK): + debug(DEBUG_NORMAL, "I: stripping and copying dynamic linker.") command(target + "objcopy", "--strip-unneeded -R .note -R .comment", ld_file, dest_path + "/" + ld_file_name)
Index: Makefile
===================================================================
RCS file: /cvsroot/systemimager/systemimager/Makefile,v
retrieving revision 1.172
diff -u -r1.172 Makefile
--- Makefile 13 Dec 2004 18:15:57 -0000 1.172
+++ Makefile 24 Dec 2004 21:55:51 -0000
@@ -538,7 +538,7 @@
test ! -d /lib64 || cp -a /lib64/ld* $(BOEL_BINARIES_DIR)/lib64
endif
cd $(BOEL_BINARIES_DIR) \
- && $(PYTHON) $(TOPDIR)/initrd_source/mklibs -L /lib64:/usr/lib64:$(SRC_DIR)/$(PARTED_DIR)/libparted/.libs:$(SRC_DIR)/$(DISCOVER_DIR)/lib/.libs -v -d lib bin/* sbin/*
+ && $(PYTHON) $(TOPDIR)/initrd_source/mklibs -L /lib64:/usr/lib64:$(SRC_DIR)/$(PARTED_DIR)/libparted/.libs:/usr/kerberos/lib:$(SRC_DIR)/$(DISCOVER_DIR)/lib/.libs -v -d lib bin/* sbin/*
#
# Include other files required by openssh that apparently aren't # picked up by mklibs for some reason. -BEF-
--
------------------------------------------------------
Brian Elliott Finley Argonne, MCS Division Office: 630.252.4742 Mobile: 630.631.6621
gpg --keyserver wwwkeys.pgp.net --recv-keys 10F8EE52
------------------------------------------------------
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/
_______________________________________________
Sisuite-devel mailing list
Sisuite-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sisuite-devel