Package: dpkg-dev Version: 1.15.5.5 Severity: wishlist Tags: patch Hello,
This bug is more like a follow up of the message #61 [1] in bug #533916. I have finally finished implementing symbol patterns to full extent, i.e. the code has undergone clean up and it is as nice as I can write it. What is more, manual page update and a complete test suite are included. To make reviewing a lot easier and faster for you, all my work is split into 14 mostly self-contained commits (the last being copyright update). Please note that they are not my typical work tree. On the contrary, they are much more polished and each of them is supposedly bug-free. However, from now on, I'll fix bugs if any are found on top of those initial 14 patches so don't be surprised if you see more commits in the remote branch. All my work is in 'symbol-patterns' branch. Remote repository is located at: git://git.debian.org/users/modax/dpkg.git http://git.debian.org/?p=users/modax/dpkg.git;a=shortlog;h=refs/heads/symbol-patterns Oneline log: $ git log --oneline master..symbol-patterns 2761109 Bump copyright years and use @debian.org address. b55f6b3 Document patterns in the manual page. 090873a Add testsuite for symbol patterns functionality. 12ea63a Collection of tweaks to the existing Dpkg_Shlibs tests and codebase. 93168fc Improve dpkg-gensymbols output, add "verbose output" option. 9676657 Improve SymbolFile::dump() output. 5f58c24 Fix indentation style in SymbolFile::dump(). 40ca127 Implement pattern matching. 0b7ef8e Simplify and shorten get_new_symbols(). 77a9b89 Split SymbolFile::merge_symbols(). c268d0d Initialize patterns. c206e18 Add pattern related subs to Symbol interface. 76b077b Replace Symbol::clone() with dclone() and sclone(). a7533ad Add Cppfilt module - interface to the c++filt utility. In order to know more what this feature is about, I recommend to read manual page update first: $ git show b55f6b3 I recommend the following debian/changelog entries when closing this bug (where #nnnnnn is a number of this bug): [ Modestas Vainius ] * Implement symbol patterns (Closes: #nnnnnn). From now on, it is possible to match multiple symbols with a single entry in the symbol file template. While the concept is not new (wildcards also match multiple symbols), patterns cover much more ground and are a lot more flexible. Together with the framework, 3 atomic pattern types are supported: - c++ - matching C++ symbols by their demangled name (as emitted by c++filt); - wildcard - matching by symbol version. Wildcard pattern is not new, but it has been reimplemented on top of the patterns framework; - regexp - matching perl regular expression against raw symbol names. What is more, atomic patterns may be combined where it makes sence. * As a positive side effect of the new symbol patterns implementation, patterns are now treated like normal symbols whenever possible, e.g. a pattern is MISSING if it does not match anything. As a result, dpkg-gensymbols is now able to detect NEW/MISSING symbols when patterns are present in the symbol file (Closes: #541464). Please note, however, that there is no way to detect symbol changes in the pattern match sets. Consider #533916 blocked by this bug. I still think substs (except vt of course) are useful even with symbol pattern support. I'll will probably re-implement them once/if symbol patterns get accepted. It would be great to see this feature in squeeze... 1. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=533916#61 -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (101, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.31-1-amd64 (SMP w/1 CPU core) Locale: LANG=lt_LT.UTF-8, LC_CTYPE=lt_LT.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages dpkg-dev depends on: ii base-files 5.0.0 Debian base system miscellaneous f ii binutils 2.20-4 The GNU assembler, linker and bina ii bzip2 1.0.5-3 high-quality block-sorting file co ii dpkg 1.15.5.5 Debian package management system ii libtimedate-perl 1.1900-1 Time and date functions for Perl ii lzma 4.43-14 Compression method of 7z format in ii make 3.81-7 An utility for Directing compilati ii patch 2.6-2 Apply a diff file to an original ii perl [perl5] 5.10.1-8 Larry Wall's Practical Extraction ii perl-modules 5.10.1-8 Core Perl modules ii xz-utils 4.999.9beta+20091116-1 XZ-format compression utilities Versions of packages dpkg-dev recommends: ii build-essential 11.4 Informational list of build-essent ii fakeroot 1.14.4-1 Gives a fake root environment ii gcc [c-compiler] 4:4.4.2-2 The GNU C compiler ii gcc-4.4 [c-compiler] 4.4.2-8 The GNU C compiler ii gnupg 1.4.10-2 GNU privacy guard - a free PGP rep ii gpgv 1.4.10-2 GNU privacy guard - signature veri Versions of packages dpkg-dev suggests: pn debian-keyring <none> (no description available) pn debian-maintainers <none> (no description available) -- no debconf information -- To UNSUBSCRIBE, email to debian-dpkg-bugs-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org