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-request-new-imports-once option is added for the backend
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://lists.ubuntu.com/archives/ubuntu-server/2018-March/007669.html

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_information: Add tests for derive_codename_from_series()
      source_information: Fix ubuntu series lookup
      source_information: Document derive_codename_from_series()
      Implement a systemd watchdog daemon to run import-source-packages.py
      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@canonical.com> Date: Thu Mar 29 10:09:05 2019 +0100

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-repository-alias: do not quote package
      import-source-packages: add --num-days-ago option
      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-source-packages: call sendmail from ORIG_PATH
      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_placeholders
      repo_builder: strengthen check in test_replace_placeholders
      repo_builder: increase code coverage to 100%
      repo_builder: rename CommitGraph to Repo
      repo_builder.Repo: handle empty repository
      repo_builder: add Branch and Tag classes
      repo_builder: specify UTC offset
      repo_builder: add Repo.copy
      dsc_to_tree_hash: add ability to get final patches-applied tree
      repo_builder.SourceTree: allow for patches to be applied
      git_repository: add docstring to pristine_tar methods
      git_repository: drop ensure_importer_branches_exist
      source_builder: add second assertion
      source_builder_test: fix docstrings
      source_builder: add file_contents attribute to SourceSpec
      test_fixtures: fix typos in comments
      test_fixtures: for simplicity chdir to the repo local directory
      source_builder: fix changelog_versions handling
      importer: drop unused variable
      importer: stub out and test tag and commit message functions
      Add SPECIFICATION.tags
      git_repository: add reimport_tag infrastructure support
      importer: add get_existing_{import,applied}_tags API
      git_repository: Add create_tag API
      repo_comparator: add basic equals() method
      importer: add create_{import,applied}_tag API
      importer: remove import_patches_unapplied_tree
      git_repository: add docstrings
      git_repository: formatting cleanups
      git_repository: do not pass spi to commit_tree_hash
      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_parent_commit
      importer._commit_import: use repo.create_tag
      importer._commit_import: use get_import_tag_msg()
      importer: refactor _commit_import to return the commit hash
      importer: abstract out import_{un,}applied_dsc
      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_repository: add find_ubuntu_merge_base method
      find_ubuntu_merge_base: fix the code for the new imported Git layout
      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_repository: add close method and invoke it in a try/finally from importer
      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://git.launchpad.net/~tsimonq2/usd-importer/+git/add-lubuntu
      Move changelog tests to dedicated test file
      Avoid cross-test-file dependency
      Rename test files
      Merge branch 'changelog-assertions'
      Add pmdk and ndctl to whitelist
      wip: automated upload tag pusher
      wip: fix whitespace wrap
      Merge branch 'bugfix/move_sources_out_of_snap_dir' of git+ssh://git.launchpad.net/~kyrofa/usd-importer
      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/usd-importer:cleanup/build-cleanups
      Revert "Merge ~smoser/usd-importer:cleanup/build-cleanups"
      Add nsd to whitelist
      Merge remote-tracking branch 'smoser/cleanup/build-cleanups-redux' into HEAD
      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-request-new-imports-once option
      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/fix/1801168-build-when-no-patches'
      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/tests-fixing'
      Add debian-archive-keyring to whitelist
      Merge remote-tracking branch 'bryce/fix_derive_codename_from_series.4'
      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://launchpad.net/usd-importer/+announcements

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

Read more

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

Read more

0.7.1 Released

Written for git-ubuntu by Bryce Harrington on 2018-03-01

git-ubuntu 0.7.1 in edge/candidate/stable channels

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

Read more

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-changelogs and
git-reconstruct-changelog in the snap. (I had to push a few fixes for
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

Read more

610 of 14 results

Announcements