[ubuntu/quantal] piuparts 0.45ubuntu1 (Accepted)
Andrew Starr-Bochicchio
a.starr.b at gmail.com
Thu Jul 19 00:35:19 UTC 2012
piuparts (0.45ubuntu1) quantal; urgency=low
* Merge from Debian unstable. Remaining Ubuntu changes:
- In Ubuntu, debfoster tries to remove packages with priority
required even if MaxPriority=required is used. Setting MaxPriority
to important reduces the number of packages to be removed as well
as false positives generated by unwanted package removals. This can
be dropped if a proper fix for debfoster is found.
- piuparts.py: Set default keyring name to ubuntu-archive-keyring.pgp
* Set default distribution to quantal.
* Drop add-existing-chroot-option.patch, applied in Debian.
piuparts (0.45) unstable; urgency=low
[ Holger Levsen ]
* Merge piatti.git into piuparts.git, so that piatti.git has become obsolete
now. Update documentation accordingly.
* Further split packaging into piuparts-master, piuparts-slave and
piuparts-common binary packages (Closes: #585861) and cleanup
dependencies.
* Update piuparts.NEWS about master+slave packages.
* Switch to debhelper8 packaging.
* debian/copyright: use versioned URI of the machine-readable copyright file,
thanks lintian.
* Move /etc/sudoers.d/piuparts to piuparts-slave package.
* piuparts-master: depend on tango-icon-theme and drop sunny.png and
weather-severe-alert.png and use links instead.
* Reviewed and merged/cherry-picked all of the following changes.
[ David Steele ]
* Remove debian/postinst as it was only dealing with lenny time area
configuration files.
* Added server configuration files for apache, sudo, and cron.
* Use dh_install, in preparation for multiple package build.
* Added packaging to create the piuparts-server package out of the old
piatti directory tree (Closes: #652934).
- Create and configure piupartss and piupartsm users.
- Coordinate ssh keys between master and slave users.
- Create working directory tree for each under /var/lib/piuparts
* packagesdb.py:
- Calculate recursive reverse dependency count, and store in PackagesDB.
- Calculate the count of packages being blocked by a failed package.
* piuparts-report.py:
- Release Section object when section processing is complete.
(Closes: #673919)
- Display reverse dependency counts and block counts to failure summaries.
- Sort the failed-testing and cannot-be-tested summaries by block count.
(Closes: #674498)
- Replace O(n^2) search in remove_old_logs() with a hash
piuparts-report run time improved 20% on mature environment.
- Another search fix in create_package_summaries (find_links_to_logs)
yielding a 10x speedup for piuparts-report runs.
(Closes: #674672)
- Cleanup/wrap some long source lines.
- Cleanup/wrap some long html lines.
- Allow the html root to be changed from /
(piuparts.conf: e.g. [global] doc-root = /piuparts/).
[ Andreas Beckmann ]
* piuparts.py:
- Implement --install-remove-install option to test installation in
config-files-remaining state. (Closes: #359154)
- Report leftover symlinks with target.
- Report leftover directories with a trailing slash.
- Allow ignore entries to specifically match directories.
- Ignore patterns need to match the full filename, not a substring.
- Cleanup and regroup ignore lists.
+ Remove many obsolete entries not needed for squeeze or later.
+ Group ignore entries into piuparts state, system state, package
management, logfiles, home directories, application data, and HACKS.
- Add to ignored_files/ignored_patterns:
+ Default system logfiles as created by syslogd in /var/log/
+ Common empty directories in /etc not removed due to dpkg bug #316521
+ cdebconf status files
+ /boot/grub/
+ /etc/X11/default-display-manager
+ /etc/aliases.db
+ /etc/apt/trusted.gpg.d/.*.gpg~
+ /etc/network/interfaces
+ /etc/news/whoami
+ /usr/share/keyrings/debian-archive-removed-keys.gpg~
+ /var/crash/
+ /var/lib/citadel/(data/.*)?
+ /var/lib/gozerbot/
+ /var/lib/nagios/ (Closes: #668756)
+ /var/lib/openvswitch/(pki/.*)?
+ /var/spool/powerdns/ (Closes: #531134, #531135)
- Implement a timeout for commands being run in the chroot.
- Set time limit to 30 minutes per command. (Closes: #654423)
- Terminate all processes running inside the chroot before removing the
chroot; also in case piuparts aborts due to an error.
- Continue killing running processes as long as new processes get spawned
in the chroot.
- Perform chroot cleanup after receiving Ctrl-C/SIGINT, too.
- Let Chroot register/de-register the cleanup panic handler.
- Remove temp_tgz on error exit.
- Remove metapackage build directory on error exit. (Closes: #663702)
- Don't remove eatmydata when minimizing a chroot. (Closes: #658962)
- Add support for version-qualified package arguments (--apt foo=1.2-3).
- Switch fallback mirror to http://cdn.debian.net/debian.
* piuparts.conf:
- Defaults for all [section] settings can be set in the [global] section.
- Change master-command to not include the section name so that it can be
set in the [global] section.
The section name will be given as an argument to this command.
- Make doc-root default to "/".
- New per section key: area (set to one of main, contrib, non-free).
- New defaults: mirror=http://cdn.debian.net/debian, area=main.
- Compute URLs from mirror, distro, area, arch.
- Removed deprecated keys: known_circular_depends, packages-url,
sources-url.
* master/db/report: Add a new category /affected/ for failed logs where the
bug is in a dependency, but only exposed by the package being tested.
- In the BTS these are reported as (Closes: #657740)
Package: buggy-package
Version: buggy-version
Affects: package-under-test
Found: package-under-test/tested-version
- Reschedule /affected/ logs like /fail/ logs.
* piupartslib/conf.py:
- Add support for getting default values from a special section.
- Add methods to get mirror, distro, area, arch from config file or
defaults.
- Add methods to compute URLs to Packages and Sources files.
* piupartslib/packagesdb.py:
- Do not consider a package as "untestable" if untestable/ contains a
logfile from an obsolete version of that package.
- Simplify handling of package and dependency states.
- Do not inherit 'dependency-does-not-exist' state (which may be fixed
in the package) but propagate it to 'dependency-cannot-be-tested'.
- Remove 'no-dependency-from-alternatives-exists' state and use
'dependency-does-not-exist' instead.
- Remove 'unknown-preferred-alternative' state as it interferes with
circular dependencies involving alternatives and virtual packages.
- Fix state resolution of package dependencies containing alternatives,
virtual packages and circular dependencies.
- Remove 'circular-dependency' state.
- Stop using static known_circular_depends.
- Compute dependency cycles and test packages on such cycles if all
non-circular dependencies are satisfied.
- Consider any combination of two error states for the blocking count.
- Always run create_subdirs() during initialization.
* piuparts-master.py:
- Remove known_circular_depends handling.
- Reduce logfile verboseness: do not include received logs.
- Always chdir to master_directory, do not rely on being run from there.
- Record timestamps of submitted logs in submissions.txt.
* piuparts-slave.py:
- Randomize waiting time (between 60 and 180 seconds) if master is busy.
- Sleep until the next section can be tried, but at least 1 minute.
- Simplify and merge Section.setup() into Section.__init__().
- Generate master command: use global setting and append section.
- Test the 'dpkg' package for creating/updating a base_tgz.
- Don't update the tarball for disabled sections.
- Rewrite starting piuparts.
- Rewrite stopping piuparts for more reliable cleanup.
- Introduce Ctrl-C/SIGINT handling:
press Ctrl-C once to exit after the current piuparts test has finished,
press Ctrl-C again to cleanly terminate the currently running test,
press Ctrl-C again to abort any ongoing cleanup.
- Pass a version qualified package name (foo=1.2-3) to piuparts to ensure
the correct package version gets tested.
- Increase verboseness for untestable packages.
- Remove idle.stamp functionality.
* piuparts-report.py:
- Remove known_circular_depends handling.
- Exclude obsolete states from generated report.
- Establish packagesdb working directory in Section.
- Handle logs in /affected/ directories.
- detect_well_known_errors: Add bug links if bugs are known.
- New known problem: "packages have been kept back".
- Report rdeps and blocking counts in all error state reports.
- Fix another race with logfiles disappearing while copying.
* piuparts-analyze.py:
- Don't report further bugs/versions if we found a match.
- Classify logs with bugs filed into /bugged/ or /affected/.
- Write .bug files with links to the BTS.
* detect_archive_issues: Only consider logs older than one day for marking
as "untestable" to allow piuparts-analyze to handle the log first.
* Replace all references to lenny and squeeze with squeeze and wheezy.
* Add/update several bug reporting templates.
* Add custom scripts to aid debugging common problems in maintainer scripts.
* Add custom script for squeeze to ensure adduser, ucf, and install-info
are not purged.
* Add custom scripts to enable/perform additional cleanup procedures to
reduce the "FAIL: Package purging left files on system" errors if
--warn-on-leftovers-after-purge is not used.
(Closes: #668752)
* Ship custom scripts in the piuparts package.
* Comment sudoers and crontabs shipped in the master/slave packages,
requiring explicit editing after installation to activate them.
* Bump debhelper and dpkg dependencies for using dpkg-maintscript-helper.
* Remove obsolete /etc/piuparts/piuparts.conf from old piuparts package.
* Ship /etc/piuparts/piuparts.conf in the piuparts-slave package.
* Create missing home directories if the piupartsm/piupartss users remain
from a previously purged installation.
[ Leo Iannacone ]
* piuparts.py: add --existing-chroot option, specify a directory as source
for the chroot, instead of building a new one with debootstrap or
decompressing an archived one. (Closes: #658044)
[ Mika Pflüger ]
* piuparts.py: Remove obsolete functions shellquote, apt_get_knows, and
append_to_file.
[ Mehdi Abaakouk ]
* piuparts.py: Add support for schroot. (Closes: #530733)
piuparts (0.44) unstable; urgency=low
[ Andreas Beckmann ]
* piuparts.py:
- Add to self.ignored_patterns: /var/lib/ucf/.*
- Increase output limit to 3 MB (for dist-upgrading daptup).
- Do not miss Pre-Depends in --warn-on-others mode.
- Remove packages and reinstall missing ones in one apt-get call.
- Run 'apt-get dist-upgrade' (instead of upgrade) during chroot setup.
* piupartslib/packagesdb.py:
- Only consider the newest version of a package as test candidate.
(Packages files may contain more than version of the same package.)
* piuparts-master.py:
- Implement simple section locking to allow concurrent master instances
but allow only one instance per section.
* piuparts-slave.py:
- Do not leak the logfile file descriptor to piuparts.
- Skip disabled sections (max-reserved = 0).
- Do not abort if connection to master failed, just skip the section.
- Do not abort if Packages file cannot be fetched, just skip the section.
- Implement simple section locking to allow concurrent slave instances.
- Sections wait before retry 15 minutes after error and one hour if idle.
- Create idle.stamp files to remember idle sections for one hour and
notify concurrent slaves about idle state.
- Skip misconfigured sections that have neither 'distro' nor
'upgrade-test-distros' in their config. (Closes: #668863)
* piuparts-report.py:
- Add link to the list of untestable logs.
- Add more known problem reports: forgotten alternatives, warnings in
passed logs: leftover files and failed maintainer scripts.
- Do not abort if logfiles disappear during copying.
* Makefile: Install documentation with mode 0644 instead of 0755.
[ Holger Levsen ]
* piuparts-report: don't create output for disabled sections. (Bye bye
Lenny!)
* Bump Standards-Version to 3.9.3, no changes necessary.
Date: Wed, 18 Jul 2012 15:27:22 -0400
Changed-By: Andrew Starr-Bochicchio <a.starr.b at gmail.com>
Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
https://launchpad.net/ubuntu/quantal/+source/piuparts/0.45ubuntu1
-------------- next part --------------
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Wed, 18 Jul 2012 15:27:22 -0400
Source: piuparts
Binary: piuparts piuparts-master piuparts-slave piuparts-common
Architecture: source
Version: 0.45ubuntu1
Distribution: quantal
Urgency: low
Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
Changed-By: Andrew Starr-Bochicchio <a.starr.b at gmail.com>
Description:
piuparts - .deb package installation, upgrading, and removal testing tool
piuparts-common - common piuparts components
piuparts-master - piuparts master components
piuparts-slave - piuparts slave components
Closes: 359154 530733 531134 531135 585861 652934 654423 657740 658044 658962 663702 668752 668756 668863 673919 674498 674672
Changes:
piuparts (0.45ubuntu1) quantal; urgency=low
.
* Merge from Debian unstable. Remaining Ubuntu changes:
- In Ubuntu, debfoster tries to remove packages with priority
required even if MaxPriority=required is used. Setting MaxPriority
to important reduces the number of packages to be removed as well
as false positives generated by unwanted package removals. This can
be dropped if a proper fix for debfoster is found.
- piuparts.py: Set default keyring name to ubuntu-archive-keyring.pgp
* Set default distribution to quantal.
* Drop add-existing-chroot-option.patch, applied in Debian.
.
piuparts (0.45) unstable; urgency=low
.
[ Holger Levsen ]
* Merge piatti.git into piuparts.git, so that piatti.git has become obsolete
now. Update documentation accordingly.
* Further split packaging into piuparts-master, piuparts-slave and
piuparts-common binary packages (Closes: #585861) and cleanup
dependencies.
* Update piuparts.NEWS about master+slave packages.
* Switch to debhelper8 packaging.
* debian/copyright: use versioned URI of the machine-readable copyright file,
thanks lintian.
* Move /etc/sudoers.d/piuparts to piuparts-slave package.
* piuparts-master: depend on tango-icon-theme and drop sunny.png and
weather-severe-alert.png and use links instead.
* Reviewed and merged/cherry-picked all of the following changes.
.
[ David Steele ]
* Remove debian/postinst as it was only dealing with lenny time area
configuration files.
* Added server configuration files for apache, sudo, and cron.
* Use dh_install, in preparation for multiple package build.
* Added packaging to create the piuparts-server package out of the old
piatti directory tree (Closes: #652934).
- Create and configure piupartss and piupartsm users.
- Coordinate ssh keys between master and slave users.
- Create working directory tree for each under /var/lib/piuparts
* packagesdb.py:
- Calculate recursive reverse dependency count, and store in PackagesDB.
- Calculate the count of packages being blocked by a failed package.
* piuparts-report.py:
- Release Section object when section processing is complete.
(Closes: #673919)
- Display reverse dependency counts and block counts to failure summaries.
- Sort the failed-testing and cannot-be-tested summaries by block count.
(Closes: #674498)
- Replace O(n^2) search in remove_old_logs() with a hash
piuparts-report run time improved 20% on mature environment.
- Another search fix in create_package_summaries (find_links_to_logs)
yielding a 10x speedup for piuparts-report runs.
(Closes: #674672)
- Cleanup/wrap some long source lines.
- Cleanup/wrap some long html lines.
- Allow the html root to be changed from /
(piuparts.conf: e.g. [global] doc-root = /piuparts/).
.
[ Andreas Beckmann ]
* piuparts.py:
- Implement --install-remove-install option to test installation in
config-files-remaining state. (Closes: #359154)
- Report leftover symlinks with target.
- Report leftover directories with a trailing slash.
- Allow ignore entries to specifically match directories.
- Ignore patterns need to match the full filename, not a substring.
- Cleanup and regroup ignore lists.
+ Remove many obsolete entries not needed for squeeze or later.
+ Group ignore entries into piuparts state, system state, package
management, logfiles, home directories, application data, and HACKS.
- Add to ignored_files/ignored_patterns:
+ Default system logfiles as created by syslogd in /var/log/
+ Common empty directories in /etc not removed due to dpkg bug #316521
+ cdebconf status files
+ /boot/grub/
+ /etc/X11/default-display-manager
+ /etc/aliases.db
+ /etc/apt/trusted.gpg.d/.*.gpg~
+ /etc/network/interfaces
+ /etc/news/whoami
+ /usr/share/keyrings/debian-archive-removed-keys.gpg~
+ /var/crash/
+ /var/lib/citadel/(data/.*)?
+ /var/lib/gozerbot/
+ /var/lib/nagios/ (Closes: #668756)
+ /var/lib/openvswitch/(pki/.*)?
+ /var/spool/powerdns/ (Closes: #531134, #531135)
- Implement a timeout for commands being run in the chroot.
- Set time limit to 30 minutes per command. (Closes: #654423)
- Terminate all processes running inside the chroot before removing the
chroot; also in case piuparts aborts due to an error.
- Continue killing running processes as long as new processes get spawned
in the chroot.
- Perform chroot cleanup after receiving Ctrl-C/SIGINT, too.
- Let Chroot register/de-register the cleanup panic handler.
- Remove temp_tgz on error exit.
- Remove metapackage build directory on error exit. (Closes: #663702)
- Don't remove eatmydata when minimizing a chroot. (Closes: #658962)
- Add support for version-qualified package arguments (--apt foo=1.2-3).
- Switch fallback mirror to http://cdn.debian.net/debian.
* piuparts.conf:
- Defaults for all [section] settings can be set in the [global] section.
- Change master-command to not include the section name so that it can be
set in the [global] section.
The section name will be given as an argument to this command.
- Make doc-root default to "/".
- New per section key: area (set to one of main, contrib, non-free).
- New defaults: mirror=http://cdn.debian.net/debian, area=main.
- Compute URLs from mirror, distro, area, arch.
- Removed deprecated keys: known_circular_depends, packages-url,
sources-url.
* master/db/report: Add a new category /affected/ for failed logs where the
bug is in a dependency, but only exposed by the package being tested.
- In the BTS these are reported as (Closes: #657740)
Package: buggy-package
Version: buggy-version
Affects: package-under-test
Found: package-under-test/tested-version
- Reschedule /affected/ logs like /fail/ logs.
* piupartslib/conf.py:
- Add support for getting default values from a special section.
- Add methods to get mirror, distro, area, arch from config file or
defaults.
- Add methods to compute URLs to Packages and Sources files.
* piupartslib/packagesdb.py:
- Do not consider a package as "untestable" if untestable/ contains a
logfile from an obsolete version of that package.
- Simplify handling of package and dependency states.
- Do not inherit 'dependency-does-not-exist' state (which may be fixed
in the package) but propagate it to 'dependency-cannot-be-tested'.
- Remove 'no-dependency-from-alternatives-exists' state and use
'dependency-does-not-exist' instead.
- Remove 'unknown-preferred-alternative' state as it interferes with
circular dependencies involving alternatives and virtual packages.
- Fix state resolution of package dependencies containing alternatives,
virtual packages and circular dependencies.
- Remove 'circular-dependency' state.
- Stop using static known_circular_depends.
- Compute dependency cycles and test packages on such cycles if all
non-circular dependencies are satisfied.
- Consider any combination of two error states for the blocking count.
- Always run create_subdirs() during initialization.
* piuparts-master.py:
- Remove known_circular_depends handling.
- Reduce logfile verboseness: do not include received logs.
- Always chdir to master_directory, do not rely on being run from there.
- Record timestamps of submitted logs in submissions.txt.
* piuparts-slave.py:
- Randomize waiting time (between 60 and 180 seconds) if master is busy.
- Sleep until the next section can be tried, but at least 1 minute.
- Simplify and merge Section.setup() into Section.__init__().
- Generate master command: use global setting and append section.
- Test the 'dpkg' package for creating/updating a base_tgz.
- Don't update the tarball for disabled sections.
- Rewrite starting piuparts.
- Rewrite stopping piuparts for more reliable cleanup.
- Introduce Ctrl-C/SIGINT handling:
press Ctrl-C once to exit after the current piuparts test has finished,
press Ctrl-C again to cleanly terminate the currently running test,
press Ctrl-C again to abort any ongoing cleanup.
- Pass a version qualified package name (foo=1.2-3) to piuparts to ensure
the correct package version gets tested.
- Increase verboseness for untestable packages.
- Remove idle.stamp functionality.
* piuparts-report.py:
- Remove known_circular_depends handling.
- Exclude obsolete states from generated report.
- Establish packagesdb working directory in Section.
- Handle logs in /affected/ directories.
- detect_well_known_errors: Add bug links if bugs are known.
- New known problem: "packages have been kept back".
- Report rdeps and blocking counts in all error state reports.
- Fix another race with logfiles disappearing while copying.
* piuparts-analyze.py:
- Don't report further bugs/versions if we found a match.
- Classify logs with bugs filed into /bugged/ or /affected/.
- Write .bug files with links to the BTS.
* detect_archive_issues: Only consider logs older than one day for marking
as "untestable" to allow piuparts-analyze to handle the log first.
* Replace all references to lenny and squeeze with squeeze and wheezy.
* Add/update several bug reporting templates.
* Add custom scripts to aid debugging common problems in maintainer scripts.
* Add custom script for squeeze to ensure adduser, ucf, and install-info
are not purged.
* Add custom scripts to enable/perform additional cleanup procedures to
reduce the "FAIL: Package purging left files on system" errors if
--warn-on-leftovers-after-purge is not used.
(Closes: #668752)
* Ship custom scripts in the piuparts package.
* Comment sudoers and crontabs shipped in the master/slave packages,
requiring explicit editing after installation to activate them.
* Bump debhelper and dpkg dependencies for using dpkg-maintscript-helper.
* Remove obsolete /etc/piuparts/piuparts.conf from old piuparts package.
* Ship /etc/piuparts/piuparts.conf in the piuparts-slave package.
* Create missing home directories if the piupartsm/piupartss users remain
from a previously purged installation.
.
[ Leo Iannacone ]
* piuparts.py: add --existing-chroot option, specify a directory as source
for the chroot, instead of building a new one with debootstrap or
decompressing an archived one. (Closes: #658044)
.
[ Mika Pflüger ]
* piuparts.py: Remove obsolete functions shellquote, apt_get_knows, and
append_to_file.
.
[ Mehdi Abaakouk ]
* piuparts.py: Add support for schroot. (Closes: #530733)
.
piuparts (0.44) unstable; urgency=low
.
[ Andreas Beckmann ]
* piuparts.py:
- Add to self.ignored_patterns: /var/lib/ucf/.*
- Increase output limit to 3 MB (for dist-upgrading daptup).
- Do not miss Pre-Depends in --warn-on-others mode.
- Remove packages and reinstall missing ones in one apt-get call.
- Run 'apt-get dist-upgrade' (instead of upgrade) during chroot setup.
* piupartslib/packagesdb.py:
- Only consider the newest version of a package as test candidate.
(Packages files may contain more than version of the same package.)
* piuparts-master.py:
- Implement simple section locking to allow concurrent master instances
but allow only one instance per section.
* piuparts-slave.py:
- Do not leak the logfile file descriptor to piuparts.
- Skip disabled sections (max-reserved = 0).
- Do not abort if connection to master failed, just skip the section.
- Do not abort if Packages file cannot be fetched, just skip the section.
- Implement simple section locking to allow concurrent slave instances.
- Sections wait before retry 15 minutes after error and one hour if idle.
- Create idle.stamp files to remember idle sections for one hour and
notify concurrent slaves about idle state.
- Skip misconfigured sections that have neither 'distro' nor
'upgrade-test-distros' in their config. (Closes: #668863)
* piuparts-report.py:
- Add link to the list of untestable logs.
- Add more known problem reports: forgotten alternatives, warnings in
passed logs: leftover files and failed maintainer scripts.
- Do not abort if logfiles disappear during copying.
* Makefile: Install documentation with mode 0644 instead of 0755.
.
[ Holger Levsen ]
* piuparts-report: don't create output for disabled sections. (Bye bye
Lenny!)
* Bump Standards-Version to 3.9.3, no changes necessary.
Checksums-Sha1:
80fcaacfbf5eef326739fe97f25560c6382af71f 1944 piuparts_0.45ubuntu1.dsc
40dde979673c779fcb233145ba997b5341b5508d 151091 piuparts_0.45ubuntu1.tar.gz
Checksums-Sha256:
cb2f9099da937e5713eab8f69c5c7f9fb94a3914976afe47a82c4badbf93b56a 1944 piuparts_0.45ubuntu1.dsc
37c70c20752134ff3d30d3245899f8e926760d42f4fa3aa8b003f30f4afcf54a 151091 piuparts_0.45ubuntu1.tar.gz
Files:
730d0d0ba6c0a012f9264c3a0b71e4e3 1944 devel extra piuparts_0.45ubuntu1.dsc
6f1860c70ee213795ab91bff8182320d 151091 devel extra piuparts_0.45ubuntu1.tar.gz
Original-Maintainer: piuparts developers team <piuparts-devel at lists.alioth.debian.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAEBCAAGBQJQBxERAAoJEDtW4rvVP9yx5mgQAJdv9+LRX6hQWAiQYZ1twD3a
hcAq6qQceY2Kbl9ZSrDXlNnC+oX+TTZPBD/hys+BJqGQNTO0xdMHq0Oisa3DQtBJ
JiJNj3E9QuSmfFZTQcyaeWdIaQRHTjzEfXmodHhnx/3/MxLqYO8mqmqOPoVHI8pF
v8OAorsvQb6051njUpp4+frjSZV7GvRoQtCbVMMN8brMuFLLXyUpwwncuVP+5JrZ
WjSlNsJ7ZIueeV0+zn67lEDx9dK/0aDPi5dZNQ6z8nAH4fsQx2z4LSeHYZ8OHKTv
2MudLgvk4ruhaSb9OEraPB+6/8IgYr54i+M/HmlE31CC//dXeksA0kLQhgbSjOg1
lxj+SqfPti76QHvciAYf+QBHmeNzv5pyiHBv/rVUe6tCa/a7c5gNcZy5J/KSCshh
mk492JzcMVJBuVUIROREpwkGXeHO2hNZBrK3CDTHs6yMigVvJZvVQ05kQ57O32Kn
RYrpnnd3kQDCksnTwLP7+g+4eATiigb6PaGTnrojwgo+XWjhHAaBVhab9tM7FtMC
iXUNGv0H9R5eumniqiUUOnADNNoSdC9yMi2Ee6v1uPHesVHXupSM46mH2T0R7EqX
uRX3bY/uxPO1vuTe0ZGIvc61/ngkGjhLkLE6pt/JHegvAIYStMqfQOMVW6ntGO6e
tGbBO9shpIEH4AzZkXiw
=0pUk
-----END PGP SIGNATURE-----
More information about the Quantal-changes
mailing list