- Timestamp:
- 02/23/06 16:14:33 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/debbuild
r40 r41 671 671 } 672 672 673 ##work674 673 foreach my $pkg (@pkglist) { 675 674 … … 695 694 696 695 # Do this here since we're doing {depends}... 697 $pkgdata{$pkg}{provides} =~ s/^, // if defined($pkgdata{$pkg}{provides}); 696 if (defined($pkgdata{$pkg}{provides})) { 697 $pkgdata{$pkg}{provides} =~ s/^, //; 698 $pkgdata{$pkg}{provides} = expandmacros($pkgdata{$pkg}{provides},'gp'); 699 } 698 700 699 701 # Gotta do this next, otherwise the control file has nowhere to go. >:( … … 720 722 "Architecture: i386\n". 721 723 "Maintainer: $pkgdata{main}{packager}\n". 722 "Depends: $pkgdata{$pkg}{depends}\n".724 ( $pkgdata{$pkg}{depends} ne '' ? "Depends: $pkgdata{$pkg}{depends}\n" : '' ). 723 725 ( defined($pkgdata{$pkg}{provides}) ? "Provides: $pkgdata{$pkg}{provides}\n" : '' ). 724 726 "Description: $pkgdata{$pkg}{summary}\n"; … … 775 777 } 776 778 } 777 778 #print `ls -l $buildroot/DEBIAN`;779 780 #Package: httpd781 #Version: 2.0.54-7via782 #Section: unknown783 #Priority: optional784 #Architecture: i386785 #Depends: libc6 (>= 2.3.2.ds1-21), libdb4.2, libexpat1 (>= 1.95.8), libssl0.9.7, libapr0786 #Replaces: apache2787 #Installed-Size: 3076788 #Maintainer: Kris Deugau <kdeugau@vianet.ca>789 #Description: apache2 for ViaNet790 # apache2 for ViaNet. Includes per-vhost setuid patches from791 # http://home.samfundet.no/~sesse/mpm-itk/.792 779 793 780 # execute … … 915 902 # executables and libs in a given file tree. 916 903 # (Debian doesn't have soname-level deps; just package-level) 904 # Returns an empty string if the tree contains no binaries. 905 # Doesn't work well on shell scripts. but those *should* be 906 # fine anyway. (Yeah, right...) 917 907 sub getreqs() { 918 908 my $pkgtree = $_[0]; 919 909 920 910 print "Checking library requirements...\n"; 921 my @reqlist = qx { find $pkgtree -type f -perm 755 | grep -v $pkgtree/etc | xargs ldd }; 911 my @binlist = qx { find $pkgtree -type f -perm 755 | grep -v $pkgtree/etc }; 912 913 if (scalar(@binlist) == 0) { 914 return ''; 915 } 916 917 my @reqlist; 918 foreach (@binlist) { 919 push @reqlist, qx { ldd $_ }; 920 } 921 922 # Get the list of libs provided by this package. Still doesn't 923 # handle the case where the lib gets stuffed into a subpackage. :/ 924 my @intprovlist = qx { find $pkgtree -type f -name "*.so*" }; 925 my $provlist = ''; 926 foreach (@intprovlist) { 927 s/$pkgtree//; 928 $provlist .= "$_"; 929 } 922 930 923 931 my %reqs; … … 926 934 foreach (@reqlist) { 927 935 next if /^$pkgtree/; 928 next if m|/lib/ld-linux.so|; 929 my ($req) = (/^\s+([a-z0-9._-]+)/); 936 next if m|/lib/ld-linux.so|; # Hack! Hack! PTHBTT! (libc suxx0rz) 937 938 my ($req) = (/^\s+([a-z0-9._-]+)/); # dig out the actual library (so)name 939 940 # Ignore libs provided by this package. Note that we don't match 941 # on word-boundary at the *end* of the lib we're looking for, as the 942 # looked-for lib may not have the full soname version. (ie, it may 943 # "just" point to one of the symlinks that get created somewhere.) 944 next if $provlist =~ /\b$req/; 930 945 931 946 $reqlibs .= " $req";
Note:
See TracChangeset
for help on using the changeset viewer.