News and announcements
0.8.0 Released
Written for git-ubuntu by Bryce Harrington on 2019-11-26
It's been a long while since git-ubuntu's last release[1], 0.7.4. The
team has been doing git snapshot releases in the interim, but we figure
it'd be good to start formal releases once again.
The git-ubuntu snap package has been updated to 0.8.0 for the 'edge' and
'beta' channels. Assuming all goes well, we'll update the 'stable'
channel to 0.8.0 within a few weeks.
Installing the Beta Release
-------
$ snap install --beta --classic git-ubuntu
Snap is still the recommended way to install git-ubuntu, however note
that we're adjusting our channel usage:
- Use the 'stable' channel for production usage.
- The 'beta' channel is for testers, and will be what we run on the
backend server.
- The 'edge' channel will track current development, and is not
recommended for most users.
If you have been running git-ubuntu from edge, please take a moment to
re-install to beta, and please track that going forward:
$ snap refresh --beta --classic git-ubuntu
Changes from 0.7.4 to 0.8.0
-------
The lion's share of effort since 0.7.4 has gone towards bug fixing and
general stabilization. Documentation and tests received a fair share of
attention, as did the snap and setup.py packaging. The number of these
changes is too much to mention with any brevity, but are summarized in
shortlog below.
One noteworthy bug fix involved a case where a package has no quilt
patches, LP: #1801168. git-ubuntu build would still attempt to copy the
non-existant .pc directory and fail. We had several dupes (and patch
offerings -- thank you!) of this issue.
The importer now uses a sqlite3 database to store persistent information
such as the pending package import status. This is designed to serve as
a cache rather than a definitive data source; the database can be
dropped at will without impacting overall behavior.
A new --only-
source package importer. This makes the importer exit immediately after
entering new imports to the database.
--deconstruct has been changed to --split, to prevent confusion that led
people to assume --deconstruct meant the opposite of "reconstruct".
"Split" offers a more sensible metaphor.
Launchpad object fetches are cached using Python's cachetools module, as
a performance improvement that reduces the excessive number of API calls
to the Launchpad service.
Finally, the backend service is now managed using a systemd watchdog
daemon. Prior to this the service would need to be manually restarted
whenever it hung or crashed, such as due to Launchpad service outages or
network instabilities.
1: https:/
Commits included in this Release
-------
Andreas Hasenack (10):
Add package cabextract to whitelist
Add more pmdk related packages to the whitelist
Add some kernels to the blacklist
Import zeromq3
Update the Debian keyring package
blacklist linux-oem (~150Mb large source package)
Add debian-multimedia to whitelist
Add wireguard to the whitelist
Add containerd and runc to the whitelist
blacklist linux-hwe (155MiB)
Bryce Harrington (25):
.gitignore: Ignore eggs & build/
Fix check warnings and document
Use AUTHORS instead of authors field in setup.py
README: Update instructions regarding preference for snap installation
doc: Copyedit grammar
man: Fix typo 'paramaters'
man: Fix grammar (a/an)
man: Fix reference to algorithm
man: Fix typo 'resultig'
man: Fix description for git-ubuntu import-ppa
man: Improve git-ubuntu-lint short desc
man: Highlight the 'Ubuntu delta' terminology
man: Fix indentation for onto
man: Revise the git-ubuntu man page description
source_
source_
source_
Implement a systemd watchdog daemon to run import-
snap: Fix build of systemd python package
Improve testsuite to verify dependencies and provide coverage of python scripts.
.gitignore: Ignore files generated during snap packaging
Cleanup obsolete integration test code
setup.py: Bump keyring version for upstream fix
setup.py: Bump lazr.restfulclient version requirement
version: bump to 0.8.0
Christian Ehrhardt (1):
add ua-client related packges to whitelist
Claudio Matsuoka (1):
Fix snap package build
Karl Stenerud (1):
Author: Karl Stenerud <karl.stenerud@
Kyle Fazzari (2):
Move wrappers out of snap dir
Place wrappers back into wrappers subdirectory
Nishanth Aravamudan (69):
import: fix case of reimport of a not-yet imported repository
import: handle orphan tags as changelog parents
update-
import-
whitelist: fix typo in kopanocore
whitelist: add packages manually imported
whitelist: add two missed manual imports
whitelist: add more manually imported packages
whitelist: fix typo
import-
snap: fix future compatibility issues with snapcraft 2.40
snap: avoid duplication lazr.restfulclient contents
snap: remove duplicate libgpg-error and libgcrypt so files
snap: fix typo in filelist
blacklist: add oxide-qt
blacklist: add texlive-lang
snap: order xdelta3 after xz-utils
snap: also do not stage lib/*/gpg-error*
repo_builder: rename test_placeholder -> test_replace_
repo_builder: strengthen check in test_replace_
repo_builder: increase code coverage to 100%
repo_builder: rename CommitGraph to Repo
repo_
repo_builder: add Branch and Tag classes
repo_builder: specify UTC offset
repo_builder: add Repo.copy
dsc_
repo_
git_
git_
source_
source_
source_
test_
test_
source_
importer: drop unused variable
importer: stub out and test tag and commit message functions
Add SPECIFICATION.tags
git_
importer: add get_existing_
git_
repo_
importer: add create_
importer: remove import_
git_
git_
git_
importer: do not pass spi to override_parents
importer: do not pass spi to get_commit_msg
importer: do not pass spi to _commit_import
blacklist: add a few more large source packages
importer: abstract out get_changelog_
importer.
importer.
importer: refactor _commit_import to return the commit hash
importer: abstract out import_
importer: do not shadow imported methods
blacklist: add libreoffice-l10n
blacklist: add texlive-base
blacklist: add openoffice.org
blacklist: add texlive-extra
blacklist: add more large source packages
versioning: add helper method to split version string
git_
find_
snap: drop one-off oauth part
setup.py: lazr.restfulclient bump
snap: order gnupg2 to be before devscripts
Rafael David Tinoco (1):
Add corosync-qdevice, pcs and sbd to whitelist
Robie Basak (66):
Add http-parser requested by Andreas
Enhance dpkg tarball reproduction instructions
Update people.c.c vendored tarball URLs
Make sure launchpadlib builds before git-ubuntu
Bump and move vendored launchpadlib Launchpad
Document external dependency management policy
Whitelist brotli
snap: fix lazr.restfulclient stage path
Add default values to main function arguments
Fix documentation typo
git_
Drop inferred log message
Add skytools3 to whitelist
Drop catch-all exception
Add dpkg-parsechangelog behaviour variance test
Test edge case changelog assertion
Fix edge case changelog assertion check
Merge branch 'master' of https:/
Move changelog tests to dedicated test file
Avoid cross-test-file dependency
Rename test files
Merge branch 'changelog-
Add pmdk and ndctl to whitelist
wip: automated upload tag pusher
wip: fix whitespace wrap
Merge branch 'bugfix/
tag: improve dirty tree detection
Add rustc to whitelist
Test that a keyring backend can be found
Drop keyrings.alt version restriction
Add awk integration test
Fix call into core snap awk binary
Add cargo to whitelist
Merge ~smoser/
Revert "Merge ~smoser/
Add nsd to whitelist
Merge remote-tracking branch 'smoser/
Use the keyring package from git-ubuntu only
Pin keyring version to work around regression
Use persistent state directory
Move timestamp storage to sqlite3 database
Store pending package import status
Drop --dry-run function
Add --only-
Mark "running" imports as errored on restart
Test that signing keys are present by default
Bump ubuntu-keyring keyrings used in the snap
Restore dry_run parameter in API call
Drop use of dry_run that is no longer defined
Merge remote-tracking branch 'smoser/
Add pgaudit to whitelist
Sort ahasenack section of whitelist
Add lmdb to whitelist
pylint: ignore the py.path module
Stop pinning pylint
Friendlier self-test output
Add bind-dyndb-ldap to whitelist
Add php7.3 to import whitelist
Complete Certbot-related whitelist packages
Cache some Launchpad object fetches
Blacklist wheezy as an active series
Merge remote-tracking branch 'bryce/
Add debian-
Merge remote-tracking branch 'bryce/
Work around pylint/astroid bug
Add pandas to whitelist
Scott Moser (19):
Fix 'git ubuntu build' when user id does not match container id.
Change internal user to 'buildd' from build-user.
build: Be more explicit about creating user in container.
build: build in Ubuntu devel for 'unstable', 'testing', 'devel'.
build: Explicitly wait for the container to finish booting.
Rework installing dependencies.
arguments are a list, not a set.
run_in_lxd: do not use a shell in sudo.
Fix native build.
build: Be more explicit about creating user in container.
build: build in Ubuntu devel for 'unstable', 'testing', 'devel'.
build: Explicitly wait for the container to finish booting.
Rework installing dependencies.
arguments are a list, not a set.
run_in_lxd: do not use a shell in sudo.
Fix native build.
build: Fix build when there are no quilt patches.
build: Use ubuntu images for build unless image provided.
add test
Sergio Schvezov (1):
snap: make use of the source-checksum field for sources
Simon Quigley (1):
Add Lubuntu packages.
Past Releases
-------------
For a list of previous release announcements, please see:
https:/
0.7.4 Released
Written for git-ubuntu by Bryce Harrington on 2018-03-02
Well, it didn't quite go as planned. I found another bug (so we're at
0.7.4) and also the snapcraft fix didn't resolve all the issues. So
I'm temporarily using a PPA that reverts the xenial-updates of
snapcraft back to 2.35.
Kyle Fazzari is working on a proper fix, but if it's not able to get
done soon, we might back out the snapcraft SRU in xenial-updates.
-Nish
---
Nish Aravamudan nish.aravamudan at canonical.com
Fri Mar 2 22:00:22 UTC 2018
0.7.3 Released
Written for git-ubuntu by Bryce Harrington on 2018-03-02
I encountered some unfortunate issues with snapcraft that hit
xenial-updates just as I was building (LP: #1752481) and then realized
we needed to snap the archive keyrings in order to verify recent archive
files (LP: #1752656). I then made a typo fixing the latter, so we're now
at 0.7.3. This should build successfully in all channels shortly.
Thanks to Sergio Schvezov for the snapcraft assist and Steve Langasek
for the keyring suggestion.
Thanks,
Nish
---
Nish Aravamudan nish.aravamudan at canonical.com
Fri Mar 2 01:20:26 UTC 2018
0.7.1 Released
Written for git-ubuntu by Bryce Harrington on 2018-03-01
git-ubuntu 0.7.1 in edge/candidate/
Hello all!
I am happy to announce the release of git-ubuntu 0.7.1 to all channels
today.
This is a massive update to our code as well as a refocus on the
import side of things. While regressions in other subcommands is not
intentional, it is certainly possible right now -- our goal is to get
all of main imported, by slowly ramping our phasing (we're aiming for
10% first, to see how it affects Launchpad, etc.).
To that end, I'm not going to provide highlights this time around.
Almost all of the code has been changed since the last tagged release!
We are working on improving code quality, by adding unit tests (thanks
to Robie for extensive work in this area).
I am about to kick off a reimport of all source packages in our
whitelist and 1% of main. Then the default Git repositories for the
working set of source packages will be updated to point at our
repositories. Finally, I will restart our keep-up job with those same
parameters. I will send follow-up e-mails as we get through each of
those steps.
Because of this reimport, if you have pending MPs against previously
imported repositories, they will need to be resubmitted (our importer
code should put a comment in appropriately!). What you will need to do
(roughly) is:
git tag <tagname> <old MP target>
git fetch pkg (which should force update)
git rebase --onto <MP target> <tagname> HEAD
We are effectively transplanting changes we had relative to <old merge
target> to now be based upon the updated pkg/<merge target> branch.
(Note that you do not need to create a tag for this, I just find it
handy to give descriptive names for commits; you can just use the commit
hash).
If you have any questions about this, please let me know.
Thanks!
-Nish
---
Nish Aravamudan nish.aravamudan at canonical.com
Thu Mar 1 05:33:38 UTC 2018
0.6.2 Released
Written for git-ubuntu by Bryce Harrington on 2017-10-27
git-ubuntu 0.6.2 availlable in the candidate channel
Hello all!
A very active week of git-ubuntu development. We are well on our way
(in our opinions) to enabling a global import of source packages (this
will take a presumably very long time to complete!) and to reimport
the existing repositories (as we are changing the import algorithm,
details below). We also plan on tweaking the default source package
Git repository in the coming weeks to point to the git-ubuntu
import'ed repositories.
Highlights of the changes from 0.4 to 0.6.2:
- Fix LP: #1699541, which was a fix for `git ubuntu queue` when used
with local imports.
- `git ubuntu review` will emit a warning when reviewing an MP for a
patches-applied branch.
- Various fixes to `git ubuntu build`'s internal iteration, which was
not treating the build success/failure as a critical check, and not
failing over to the next possible source of orig tarballs correctly.
- Fix LP: #1717960 by allowing patches-applied building. For drive-by
contributions, this means we can try and quiltify and changelogify
upstream changes cherry-picked into the patches-applied (or
patches-unapplied) branch and produce a build-able source or binary
package. The former is not suitable for uploading to the archive, but
does give a sponsor a starting point. The latter gives the end-user a
testable .deb. If a quiltify or changelogify occurs, a fixup commit is
created but not checked out, with the hash of the commit emitted to
the console. The user can take that as a fresh starting point, etc.
- Fix LP: #1717964 which allows `git ubuntu lint` to warn if a
quiltify operation is needed (upstream changes not yet represented by
a quilt patch in a quilt (3.0) source package).
- Fix LP: #1706979 which allows `git ubuntu build` and `git ubuntu
build-source` to build an arbitrary commitish with --commitish. The
default is to build HEAD.
- Fix LP: #1723147, so dpkg-buildpackage in the LXD container is run
as the ubuntu user.
- Fix LP: #1723148, so the LXD container is petnamed.
- Fix LP: #1723172, so the LXD build occurs only one directory deep in /tmp.
- Fix LP: #1720468, which bumps the default retries for network
operations to 5, to improve the likelihood of LXD build success.
- Fix LP: #1721844, which re-exposes git-merge-
git-reconstruct
this after 0.6.2 due to snap quirks).
- Fix LP: #1726722, which was a bug in linting a source package change
where the source package may not exist in all active seres.
- Fix LP: #1727545, so we always use the host gpg in the snap.
- Fix a bug with `git ubuntu remote add...` adding a URL explicitly.
- Fix LP: #1719707, which allows one to add a "debian" remote automatically.
- Fix LP: #1725058, which adds a `git ubuntu export-orig` subcommand
to generate orig tarballs (in the same manner as `git ubuntu build`
does).
- Fix LP: #1719608, which changes the importer alogrithm significantly
to not use a publishing parent. This simplifies the algorithm, and
also makes the various branch pointers more reflective of what is
happening in the publisher.
- Fix LP: #1728163, so the ubuntu-daily remote is used for LXD builds
by default.
Please help test this snap, which I'm hoping we can promote to stable
in the next week or two.
---
Nish Aravamudan nish.aravamudan at canonical.com
Fri Oct 27 23:09:44 UTC 2017