Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
The function get_change_items() reintroduce the feature that parsed the
changes as a set of items describing individual changes. Furthermore it
parses attribution lines (“[ Name ]”) as separate items.
|
|
|
|
Despite its name, this function does not actuallay parse anything by
itself, it just calls external parsers and returns their result. This
interface is largely used by other tools and is not tied with any of the
other Dpkg::Changelog modules so it's best kept separate.
Many scripts have to be updated to cope with the renaming.
|
|
Drop the Dpkg::Changelog::Entry embedded in Dpkg::Changelog.
Update Dpkg::Changelog and Dpkg::Changelog::Debian to use the
new modules.
Some (undocumented) features have been removed with this rewrite.
The entries are not parsed item by item anymore. The Urgency field
will no longer receive the comment that can follow the urgency.
The content of “Closes” is exported by Dpkg::Changelog::Entry::Debian
as an optional field.
The test-suite also had to be updated to cope with the API changes
and the fact that bugs are no longer duplicated in the “Closes” field.
|
|
Dpkg::Changelog::Entry is a somewhat generic representation of a
changelog entry. It offers an interface exporting the basic information
that we need to extract for dpkg-parsechangelog.
Dpkg::Changelog::Entry::Debian is the implementation of this
interface for the typical Debian changelog entry.
Dpkg::Control::Changelog is the object representing the
information exported by dpkg-parsechangelog. It starts empty
as a simple Dpkg::Control of type CTRL_CHANGELOG.
Those new modules are not yet used by the Dpkg::Changelog modules.
|
|
This module represents an ordered set of Dpkg::Control objects.
It ensures uniqueness for objects based on a customisable key.
|
|
Ensure we don't return the same bug multiple times even if it's closed
multiple times.
|
|
Custom fields can be copied when they do not target one of
the official file type who are explicitely managed by the
letter scheme (X[SBC]-).
|
|
Update the dpkg-source manual page accordingly.
|
|
dselect/po/sv.po: Update to 280t0f0u.
man/po/sv.po: Update to 1642t0f0u.
po/sv.po: Update to 967t0f0u.
scripts/po/sv.po: Update to 471t0f0u.
|
|
|
|
The Packages and Sources files are not really specific to APT.
Those files are indexes that can be used by other programs.
|
|
The blank lines separating the header, changes and trailer lines
were lost in the parsing. Now they are stored in three new attributes
of Dpkg::Changelog::Entry.
|
|
In order to be able to output the very same changelog file, we want to
keep whitespaces while parsing and simply drop them in outputs where
they should not appear.
This commit is a good start towards this goal.
|
|
And post-process them later for output as a proper Dpkg::Control
information block.
|
|
The 0 value means that the implication is logically disproved. We wanted
to express that we don't know anything since the version parameter is
not a valid version and thus can't be compared.
|
|
version_compare_op() becomes version_compare_relation().
version_normalize_cmp_op() becomes version_normalize_relation().
The CMP_OP_* constants become REL_*.
Update all scripts and modules accordingly.
|
|
Update to 471t.
|
|
The version string used at creation time should be returned
when you stringify a Dpkg::Version object. Ensure this by adding a
non-regression test.
|
|
Switch the non-regression tests to the new API.
|
|
|
|
The old implementation is still around in this commit so that
it's easy to checkout this commit and add supplementary test cases
in scripts/t/100_Dpkg_Version.t to verify that both implementations
have the same result. Some new test cases have been added during the
implementation.
The new object interface overrides all the comparison operators
so that you can directly compare two Dpkg::Version objects. The
object can also be used within strings and it will generate the
same version string than the one given at creation time.
|
|
Update to 468t.
|
|
This feature is supported in the dpkg-scanpackages implementation provided
by dpkg-multicd. Unfortunately it was using the "-m" option which got
granted to --multiversion in the official dpkg-scanpackages.
This option will only be useful for people wishing to create Packages.cd
files for use by the multicd dselect access method. Closes: #402527
|
|
This feature is supported in the dpkg-scanpackages implementation provided
by dpkg-multicd.
|
|
Both fields are allowed in Sources files, they are generated by
dpkg-scansources or apt-ftparchive based on the override files.
|
|
|
|
Update to 467t
|
|
Update to 473t.
|
|
This hook is useless now that the Ubuntu vendor object uses
post-process-changelog-entry to add their Launchpad-Bugs-Fixed
field.
|
|
Implement vendor objects in a way that the return value for unknown
hooks is better defined: empty list in list context or undef in scalar
context.
|
|
|
|
The creation of the Launchpad-Bugs-Fixed field is now done
in post-process-changelog-entry instead of before-changes-creation
so that it's also output by dpkg-parsechangelog and not only
in the .changes file. Closes: #536066
|
|
|
|
This hook is mainly meant to extract more structured information
from the raw changes information.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The right field output order is automatically set based on the type
of the Dpkg::Control object used.
|
|
Update all modules and scripts to not use those variables of Dpkg::Deps
but instead the two functions field_list_(pkg|src)_dep() of
Dpkg::Control::Fields.
|
|
capit() is provided by Dpkg::Fields while field_capitalize() is part
of the new Dpkg::Control::Fields API.
|
|
|
|
This new module provides an official list of control fields as
well as many functions to query that list and the meta-information
associated to each list.
|
|
|
|
Update all scripts and module to use Dpkg::Control instead
of parsecdata and Dpkg::Fields::Object.
|
|
The new object interface combines the old Dpkg::Fields::Object
and the old parsecdata funtion.
The new object can be used like a regular hash and yet it behaves
intelligently taking into account all the specifics of control
information. Fields are case-insensitive, the order in which they have
been read is kept for output stability.
The object uses operator overloading and an internal tied hash so that
it just does what you mean.
|