stop using regexps for lists of packages, that doesn't work for large numbers (Closes: #552125)
Ryan Niebur
14 years ago
2 | 2 |
* adopt package (Closes: #532927)
|
3 | 3 |
* add Vcs-* fields
|
4 | 4 |
* fix parsing .deb files, thanks to Junichi Uekawa (Closes: #390262)
|
5 | |
|
6 | |
-- Ryan Niebur <ryan@debian.org> Sun, 01 Nov 2009 03:08:15 -0800
|
|
5 |
* stop using regexps for lists of packages, that doesn't work for
|
|
6 |
large numbers (Closes: #552125)
|
|
7 |
|
|
8 |
-- Ryan Niebur <ryan@debian.org> Sun, 01 Nov 2009 03:28:19 -0800
|
7 | 9 |
|
8 | 10 |
dpkg-ruby (0.3.2) unstable; urgency=low
|
9 | 11 |
|
873 | 873 |
|
874 | 874 |
def [](package) @lists[package]; end
|
875 | 875 |
def package(package) @lists[package]; end
|
876 | |
|
877 | |
def pkgs_re_escape(pkgs)
|
878 | |
return pkgs.map{|p| Regexp.escape(p)}.join('|')
|
879 | |
end
|
880 | 876 |
end
|
881 | 877 |
|
882 | 878 |
################################################################
|
883 | 879 |
class Sources < Archives
|
884 | 880 |
def initialize(file = "", pkgs = [], fields = [])
|
885 | |
unless pkgs.empty?
|
886 | |
pkgre = Regexp.new("(Package|Source):\\s(#{pkgs_re_escape(pkgs)})\n")
|
887 | |
end
|
888 | 881 |
@lists = Archives.parseArchiveFile(file) {|info|
|
889 | |
if !pkgre || pkgre =~ info
|
|
882 |
info =~ /(?:Package|Source):\s(.*)$/;
|
|
883 |
if pkgs.empty? || pkgs.include?($1)
|
890 | 884 |
d = Dsc.new(info,fields)
|
891 | 885 |
if block_given?
|
892 | 886 |
yield d
|
|
900 | 894 |
################################################################
|
901 | 895 |
class Packages < Archives
|
902 | 896 |
def initialize(file = "", pkgs = [], fields = [])
|
903 | |
unless pkgs.empty?
|
904 | |
pkgre = Regexp.new("Package:\\s(#{pkgs_re_escape(pkgs)})\n")
|
905 | |
end
|
906 | 897 |
@provides = {}
|
907 | 898 |
@file = [file]
|
908 | 899 |
@lists = Archives.parseArchiveFile(file) {|info|
|
909 | |
if !pkgre || pkgre =~ info
|
|
900 |
info =~ /Package:\s(.*)$/;
|
|
901 |
if pkgs.empty? || pkgs.include?($1)
|
910 | 902 |
d = Deb.new(info,fields)
|
911 | 903 |
add_provides(d)
|
912 | 904 |
if block_given?
|