News and announcements
git-ubuntu 1.1 released
Written for git-ubuntu by Robie Basak on 2023-08-31
I have released git-ubuntu 1.1. The major addition is the rich history
adoption via changes files and the corresponding `git ubuntu
prepare-upload` command, which many of you have been using already via
the edge channel. This feature is now available in the stable channel.
Install with:
sudo snap install --classic git-ubuntu
or, to switch the already-installed snap back to the stable channel from
the edge channel:
sudo snap refresh --stable git-ubuntu
Preliminary documentation is now available:
https:/
In between 1.0 and 1.1 were changes to the importer service itself to
import all packages into Launchpad, for which there was no release of
the tooling; hence the apparent delay between releases this time.
Notable changes from 1.0 to 1.1
-------
Rich history is adopted if a reference exists to it in the changes file
associated with an upload, provided that it can be retrieved and matches
the upload itself. A new `prepare-upload` subcommand provides a low
level CLI interface that developers can script against to integrate into
their workflows. See the howto documentation[1] for details.
Steve Langasek has written an experimental higher level wrapper that
currently lives in the git-ubuntu source tree as `sandbox/gu-build` to
support some common workflows, such as to automatically include the
correct `dpkg-genchanges -v` option automatically for the upload of
package merges. See his mailing list post[2] for details.
The snap is now based on core20.
All packages are imported by default and the manual allowlist
functionality is removed. The denylist exists to stop futile retries for
edge case packages that fail to import; my goal is to whittle this down
to zero.
The importer now automatically sets a repository as default for its
target after it is imported. This means that manual intervention for new
source packages is no longer required before `git ubuntu clone` will
work. Thanks to the Launchpad team for implementing the access control
needed for the importer to do this safely.
Commits included in this release
-------
Andreas Hasenack (2):
Import redis, requested by sergiodj
Add libtpms to import list
Athos Ribeiro (3):
Do not rely on host perl stack
Test dpkg tooling confinement
Check if perl dependent commands are runnable
Brian Murray (2):
import packages for the SRU team
add in virtualbox packages
Bryce Harrington (14):
whitelist: Drop php-horde-*
whitelist: Add php7.4 and recently touched php-* packages
Add fish to import whitelist
Add php-league-
Add phpunit to whitelist
Whitelist *php* packages from main and universe
Whitelist *ruby* packages from main and universe
build: Ensure fetch_orig() always returns a list
Add composer to the whitelist.
Add python-
Add python-
Add several packages to the whitelist.
Add three packages for +1 maintenance to the whitelist.
Add thin to the whitelist.
Christian Ehrhardt (3):
whitelist: add openmpi
whitelist: add packages related to mdevctl MIR (LP: #1889248)
add libfabric to whitelist
Lena Voytek (1):
Updates for inclusive naming
Paride Legovini (1):
snapcraft: drop --enable-
Robie Basak (135):
Update release process to also close fixed bugs
prometheu
Add west-chamber to whitelist
Add xtables-addons to whitelist
Remove import exception catching
Handle pygit2 type attribute API change
Fix Python string escaping
Handle git email address configuration fixture
Do not raise StopIteration() directly
logging.
Add missing dependency on ubuntutools
Update packaging to be based on 20.04
Add recent whitelist requests
Fix tests when run in non-UTC timezones
Also add ansible-base to whitelist
Merge branch 'core20'
Add ubuntu-dev-tools for update-maintainer
Drop GPG key ID workaround
Drop pinning
Drop pygit2_
Drop GitUbuntuReposi
Correctly compare package version strings
Instantiate HTTPError better in tests
Add smart whitelist support
Merge branch 'smart-
Merge branch 'lp1924983'
snap: add python3-
Merge branch 'keyring-
Refactor validate_
Rename validate_
Pass through spi
Add get_changes_
Add rich history import from changes files
Merge branch 'rich-history-
source_
Add integration test for sed
Fix and test update-maintainer integration
Test and fix git-ubuntu.
Include all dpkg decompressors in the snap
Merge branch 'integration-fixes'
Merge remote-tracking branch 'bryce/
Add experimental "push-for-upload" subcommand
Whitelist Google-related packages for Utkarsh
snap: set grade to stable
Merge remote-tracking branch 'racb/snap-
Update scriptutils docstrings
scriptuti
poller: add --extra-
Merge branch 'push-for-upload'
Add changelog date override for prips
Add comment to change date override file
Rename push-for-upload to prepare-upload
prepare_
prepare-
Change repository owner to ~git-ubuntu-import
Fix git-ubuntu.
Merge remote-tracking branch 'athos-
Merge remote-tracking branch 'lvoytek/master'
Update maintainer email address
Update email address to request an import
Update email address default used in tests
Update default bot account name
Clean up get_head_versions()
Use date_created to determine head versions
Add unit test for get_head_info()
GitUbuntu
launchpad
launchpad
Rewrite launchpad_
Refactor _head_version_
Add test to accept refs that contain '+'
Improve documentation on validation constants
submit: default to ~canonical-
More project renames
Add comment on missing observability
Add changelog date override for gmsh
scriptutils: remove pool_map_
_
importer: flip sense of push arguments
importer: flip CLI argument default to not push
importer-
Move import_srcpkg() to importer_
Add production systemd service definitions
Add mass import failures to denylist
Add further mass import failures to denylist
denylist: remove successful imports
denylist: add known failures and refer to bugs
Add further changelog date overrides
Add further changelog date overrides (2)
More edge case changelog date parsing
poller: remove allowlists and phasing
denylist: drop succeeding packages
Handle missing refs on rich history fetch
import: add --set-as-
importer-
Drop openssh from denylist
Initial Sphinx docs
doc: use standard style
doc: requirements.txt and configuration for RTD
doc: improve not up-to-date howto
doc: improve deletion how-to
doc: add rich history how-tos
doc: add changes file reference
doc: style
doc: clarify assumptions in rich history howto
doc rich history: clarify that we push
doc rich history: add mangle howto
doc rich history: specify beta snap requirement
doc rich history: point out branch retention requirement
Fix typos in test docstrings
prepare-
prepare-
prepare-
prepare-
prepare-
prepare-
prepare-
doc: more on test builders
doc: howtos on individual pages
doc: add keyring
snap.sh: do not generate gpg subkeys
snap.sh: run snapcraft with sudo
importer: ignore rich history requiring auth
Drop amavisd-new from denylist
Rewrite prepare-upload to fetch before push
prepare-
prepare-
prepare-
prepare_
sandbox/
sandbox/
Add changelog date override for dhcpcd
Update .readthedocs.yaml
Revert "snap.sh: run snapcraft with sudo"
version: bump to 1.1
Sergio Durigan Junior (9):
Add frr to the whitelist.
Add node-uid-number to the whitelist.
Add python-azure to whitelist
Add mailman3 to the whitelist.
Add gssproxy to the whitelist.
Add sane-airscan to the whitelist.
Add pgloader to the whitelist
Add ruby-net-ssh to the whitelist
Accept ref names containing plus sign
Steve Langasek (10):
mk-build-deps doesn't like version 0
Initial implementation of a dpkg-buildpackage wrapper
Add support for figuring -v and -sa options to dpkg-buildpackage
Use the Changelog.
Only append -v option if the target branch's version is in our changelog
mk-build-deps doesn't like version 0
Use the dowload cache for tarballs
drop stray unused variable left over from development
make the gu-build exit code match that of dpkg-buildpackage
Initial support for 'gu-build' wrapper that wraps dpkg-buildpackage
[1] https:/
[2] https:/
git-ubuntu 1.0 released
Written for git-ubuntu by Robie Basak on 2020-09-24
I'm pleased to announce that we now consider git-ubuntu ready for general use. Coinciding with this, the unapplied tags and branches that are published by git-ubuntu in Launchpad can also now be considered maintained and stable.
git-ubuntu 1.0 is now published to the stable snap channel. Install with:
sudo snap install --classic git-ubuntu
Imported repository status
-------
Repositories for 5560 packages are now maintained in Launchpad and their "unapplied" branches and tags are considered stable. This includes nearly all packages in main and some packages in universe that have been imported on request.
I expect to start expanding coverage to the entire archive soon.
"Unapplied" means the branches prefixed `debian/` and `ubuntu/`, and the tags prefixed `import/`. These are the primary branches and tags intended for routine use by distribution developers.
Branches and tags such as `pristine-tar`, `dsc` and `upstream/*` are intended to ship content rather than history, so are out of scope of "stability" in the fast-forwarding sense.
The "applied" branches and tags will be declared stable in a future release.
Changes from 1.0-rc1 to 1.0
-------
The importer service has broken out into worker processes for better concurrency.
A number of import edge cases concerning "bad" input data are now handled gracefully and in a stable way.
One importer bug related to the edge case where the same package version string was published in Debian and Ubuntu but with different contents has been fixed.
Some snap packaging related bugs are fixed.
Commits included in this release
-------
Andreas Hasenack (16):
Add nodejs to whitelist
Add realmd and adcli to whitelist, these have MIRs already in progress
Update whitelist: golang-yaml.v2, golang-testify, golang-go.uber-zap
Import golang-
Add golang-
Import influxdb
Import prometheus packages
golang-
Import golang-
Import google-gogoprotobuf
Import liburing, about to be MIRed
Import sshuttle
Import golang-
Import fish
Import many golang packages for Kanashiro
Import haveged (ddstreet request)
Rafael David Tinoco (2):
Import uftrace (and dependency) for rafaeldtinoco
Import python-
Robie Basak (51):
Add terminating newline to importer notes
pylint: add py.path to ignored-modules
Use the same pylintrc locally as in CI
Drop pylint and astroid pinning
Move request_
Move package list read to importer_service
Add database concurrency support
Add ipc_worker table
Running requests must now never get superseded
Test refactor
Do not return requests for packages with imports in progress
Embed bash and use it in our wrappers
Use the host's ssh client
Add new IPC-based service components
Merge branch 'ipc-concurrency'
Merge branch 'snap-fixes'
Add additional kernel packages to blacklist
Add additional kernel packages to blacklist
Temporarily blacklist "slow to reimport" packages
Test handling for non-UTF8 in changelog notes
Handle non-UTF8 characters in changelog notes
Factor out changelog date parsing
Add parsing support for edge case dates
Ensure the locale is set consistently
Remove temporary blacklist of fixed packages
poller: log package count after startup
Handle empty changelog author names
Merge branch 'importer-
Merge branch 'empty-
Merge branch 'poller-logging'
Add test case for extra angle bracket parsing
Fix extra angle bracket parsing
Merge branch 'multiple-
Add author_date override support
source_
Add changelog date overrides
Revert "Ensure the locale is set consistently"
Merge branch 'revert-locale'
Fix typo in changelog date override
Remove all pull overrides
Remove all parent overrides
Remove all patch overrides
Re-enable packages that were being reimported
Fix some golang whitelist source package names
Add test for get_all_
Fix get_all_
Add some missing docstrings
Add pkgbinarymangler to blacklist
Retry database reads on lock timeouts
Add more kernel packages to blacklist
version: bump to 1.0
git-ubuntu 1.0-rc1 released
Written for git-ubuntu by Robie Basak on 2020-05-29
The git-ubuntu snap has been updated to 1.0-rc1 in the edge channel. Once all reimports are complete, this is a candidate to be released as 1.0 and published to the beta and stable channels at that point.
I will send a separate announcement about the upcoming reimports necessary to bring all existing imported repositories to the 1.0 standard.
Changes from 0.10.1 to 1.0-rc1
-------
Significant changes in this release are the removal of the experimental build, lint, review, import-local and import-ppa subcommands. We expect to reintroduce stable versions of these subcommands post-1.0, subject to demand and priority.
Other changes include fixes for various importer edge cases, and the facility to manage reimport requests in production for the upcoming reimports.
Commits included in this release
-------
Andreas Hasenack (2):
Add sbuild-
Import squashfs-tools-ng
Bryce Harrington (6):
Remove import-local cli command
Remove import-ppa cli command
Remove review cli command
Remove build command
Remove lint command
Move derive_
Robie Basak (25):
Don't add changelog notes fetch refspec for !pkg
Fix changelog timezone parsing
Merge branch 'fix-remote-
Merge branch 'fix-changelog-
Use the same repo fixture in round trip test
Test rich history preservation unescaped patch bug
Fix rich history preservation unescaped patch bug
Fix docstring
Release process: change announcement destination
Release process: automatic tag annotation
Release process: add service restart instructions
Add to kernel blacklist
Add reimport support to the importer service
Add --lp-user and --lp-owner to importer service
Add linux-raspi to blacklist
Convert import request structure to namedtuple
Merge branch 'reimport-service'
Merge branch 'release-
Shorten test function names
Add tests for rich history edge cases
Refactor some rich history tests
Reformat for subsequent changes
Allow empty contents when porting rich history
Allow fast-forwards when porting rich history
version: bump to 1.0-rc1
0.9.2 Released
Written for git-ubuntu by Bryce Harrington on 2020-02-14
This micro-release of git-ubuntu brings in several changes important on
the backend service. This release is to enable rolling these changes
out into production. There are no user-visible changes or bugfixes to
the frontend.
Support for tracking multiple changelog parents addresses a long
standing edge case when importing packages that have a given package and
version string published via more than one source tree in Launchpad.
For example, when Debian and Ubuntu managed to publish the same package
version but with different deltas. (LP: #1761332)
The recently added systemd service for the importer backend
unfortunately broke sending of diagnostic emails to the administration
team. This release includes a fix for that and provision of additional
detail information from the journal log for importer faults. See
doc/README.testing for details on this new testing capability.
A major improvement to git-ubuntu's self test now allows it to be run
against the snap installation. Previously, one needed to build a new
snap package in order to run the self test.
Shortlog
--------
Andreas Hasenack (4):
Group and order my requested packages
add isc-kea
add ipmctl to the persistent memory stack
Add nsscache, volatildap and vmem to the whitelist
Bryce Harrington (5):
systemd: Fix journal output
systemd: Define dependence on network online
mailer: Connect and disconnect from smtp service when sending emails
mailer: Avoid bytes->Text->bytes conversion on mail body
version: bump to 0.9.2
Nishanth Aravamudan (1):
importer: drop unused variable
Robie Basak (19):
Collapse dual (un)applied code using an enum
Merge branch 'applied-enum'
.git escaping: fix test parameter comments
.git escaping: add test for failing case
.git escaping: fix failing case
Add style notes on the use of xfail
Add importer parent commit test for no parents
importer: call using kwargs
test_
Add test: test_get_
Sort reimport tags before using them
Allow for multiple changelog parents
test_
Generalise test_get_
Add multiple changelog parent tests
Support multiple changelog parents
get_
Add further docstrings and comments
Merge branch 'xfail-style'
Scott Moser (1):
Add support for executing self test in checked out tree.
Past Releases
-------------
For a list of previous release announcements, please see:
https:/
0.9.1 Released
Written for git-ubuntu by Robie Basak on 2020-01-29
The git-ubuntu snap package has been updated to 0.9.1 in all snap
channels. Note that the previously 0.8.0 never got released to the
stable channel, so users following the stable channel will also receive
changes detailed in the previous release announcement[1].
Changes from 0.8.0 to 0.9.1
-------
One notable change is that "git ubuntu build-source" no longer exists
and has been replaced with "git ubuntu build -S" (or --source) to mirror
the traditional tooling. The CLI help output has also been polished.
As with the previous release, the majority of other changes are related
to quality improvements and are not intended to result in user-visible
changes. Most of this is in refactoring and the addition of further
tests; Bryce has also continued to overhaul the importer service daemon
for reliability and logging.
If you are following the stable snap channel, see also the previous
release announcement[1] for further changes that will land in the stable
channel in addition to the changes in this release.
Commits included in this Release
-------
Andreas Hasenack (2):
Add pyzmq to the source whitelist
Add linux-snapdragon to import blacklist
Bryce Harrington (15):
doc: Define a release process
Cleanup --help output formatting and show all available commands
build: Deprecate 'build-source' in favor of 'build -S'
Add missing dependency to README.md directions
README.md: Recommend use of a separate import directory for local usage
git_
Refactor importer to encapsulate sendmail logic to its own object
Send fewer package import/failure emails
systemd: Include last 100 lines from journal in system failure emails
docs: Fix path for script discussed in importer service docs
systemd: Fix invocation of failure-email.sh
systemd: Use the installed symlink for running importer
systemd: Fix service name
systemd: Drop explicit setting of StandardOutput to journal
Log when emails are sent, not when they're not sent
Rafael David Tinoco (2):
Add libslirp to whitelist.
Add pyagentx to whitelist (LP: #1855943).
Robie Basak (24):
Make xfail passes fail the test suite
Import Placeholder to avoid qualification
Add docstring for Commit constructor
repo_
SourceSpec: change default to non-native
Break out repo_builder tests
Test conciseness, consistency and terminology
Calculate validation_repo only when it is used
Add style convention on import statements
repo_builder: add Commit.from_spec method
source_
Add importer tests
Merge branch 'importer-
Add some edge case changelog parsing tests
Fix changelog parsing
Add Changelog.
Rewrite commit_tree_hash into commit_source_tree
Change main phasing default to 100%
Add ubuntu-dev-tools to the import whitelist
Merge branch 'phasing-defaults'
version: bump to 0.9.0
Drop pin on lazr.restfulclient
self-test: be more explicit when failing
version: bump to 0.9.1
Past Releases
-------------
For a list of previous release announcements, please see:
https:/
[1] https:/