Launchpad news, November 2015 – April 2017
Well, it’s been a while! Since we last posted a general update, the Launchpad team has become part of Canonical’s Online Services department, so some of our efforts have gone into other projects. There’s still plenty happening with Launchpad, though, and here’s a changelog-style summary of what we’ve been up to.
Answers
- Lock down question title and description edits from random users
- Prevent answer contacts from editing question titles and descriptions
- Prevent answer contacts from editing FAQs
Blueprints
- Optimise
SpecificationSet.getStatusCountsForProductSeries
, fixing Product:+series timeouts - Add sprint deletion support (#2888)
- Restrict blueprint count on front page to public blueprints
Build farm
- Add fallback if nominated architecture-independent architecture is unavailable for building (#1530217)
- Try to load the nbd module when starting launchpad-buildd (#1531171)
- Default
LANG
/LC_ALL
toC.UTF-8
during binary package builds (#1552791) - Convert buildd-manager to use a connection pool rather than trying to download everything at once (#1584744)
- Always decode build logtail as UTF-8 rather than guessing (#1585324)
- Move non-virtualised builders to the bottom of /builders; Ubuntu is now mostly built on virtualised builders
- Pass
DEB_BUILD_OPTIONS=noautodbgsym
during binary package builds if we have not been told to build debug symbols (#1623256)
Bugs
- Use standard milestone ordering for bug task milestone choices (#1512213)
- Make bug activity records visible to anonymous API requests where appropriate (#991079)
- Use a monospace font for “Add comment” boxes for bugs, to match how the comments will be displayed (#1366932)
- Fix
BugTaskSet.createManyTasks
to map Incomplete to its storage values (#1576857) - Add basic GitHub bug linking (#848666)
- Prevent rendering of private team names in bugs feed (#1592186)
- Update CVE database XML namespace to match current file on cve.mitre.org
- Fix Bugzilla bug watches to support new versions that permit multiple aliases
- Sort bug tasks related to distribution series by series version rather than series name (#1681899)
Code
- Remove always-empty portlet from Person:+branches (#1511559)
- Fix OOPS when editing a Git repository with over a thousand refs (#1511838)
- Add Git links to DistributionSourcePackage:+branches and DistributionSourcePackage:+all-branches (#1511573)
- Handle prerequisites in Git-based merge proposals (#1489839)
- Fix OOPS when trying to register a Git merge with a target path but no target repository
- Show an “Updating repository…” indication when there are pending writes
- Launchpad’s Git hosting backend is now self-hosted
- Fix
setDefaultRepository(ForOwner)
to cope with replacing an existing default (#1524316) - Add “Configure Code” link to Product:+git
- Fix Git diff generation crash on non-ASCII conflicts (#1531051)
- Fix stray link to +editsshkeys on Product:+configure-code when SSH keys were already registered (#1534159)
- Add support for Git recipes (#1453022)
- Fix OOPS when adding a comment to a Git-based merge proposal without using AJAX (#1536363)
- Fix shallow git clones over HTTPS (#1547141)
- Add new “Code” portlet on Product:+index to make it easier to find source code (#531323)
- Add missing table around widget row on Product:+configure-code, so that errors are highlighted properly (#1552878)
- Sort
GitRepositorySet.getRepositories
API results to make batching reliable (#1578205) - Show recent commits on GitRef:+index
- Show associated merge proposals in Git commit listings
- Show unmerged and conversation-relevant Git commits in merge proposal views (#1550118)
- Implement AJAX revision diffs for Git
- Fix scanning branches with ghost revisions in their ancestry (#1587948)
- Fix decoding of Git diffs involving non-UTF-8 text that decodes to unpaired surrogates when treated as UTF-8 (#1589411)
- Fix linkification of references to Git repositories (#1467975)
- Fix +edit-status for Git merge proposals (#1538355)
- Include username in git+ssh URLs (#1600055)
- Allow linking bugs to Git-based merge proposals (#1492926)
- Make
Person.getMergeProposals
have a constant query count on the webservice (#1619772) - Link to the default git repository on Product:+index (#1576494)
- Add Git-to-Git code imports (#1469459)
- Improve preloading of
{Branch,GitRepository}.{landing_candidates,landing_targets}
, fixing various timeouts - Export
GitRepository.getRefByPath
(#1654537) - Add
GitRepository.rescan
method, useful in cases when a scan crashed
Infrastructure
- Launchpad’s SSH endpoints (bazaar.launchpad.net, git.launchpad.net, upload.ubuntu.com, and ppa.launchpad.net) now support newer key exchange and MAC algorithms, allowing compatibility with OpenSSH >= 7.0 (#1445619)
- Make cross-referencing code more efficient for large numbers of IDs (#1520281)
- Canonicalise path encoding before checking a librarian
TimeLimitedToken
(#677270) - Fix Librarian to generate non-cachable 500s on missing storage files (#1529428)
- Document the standard
DELETE
method in the apidoc (#753334) - Add a
PLACEHOLDER
account type for use by SSO-only accounts - Add support to +login for acquiring discharge macaroons from SSO via an OpenID exchange (#1572605)
- Allow managing SSH keys in SSO
- Re-raise unexpected HTTP errors when talking to the GPG key server
- Ensure that the production dump is usable before destroying staging
- Log SQL statements as Unicode to avoid confusing page rendering when the
visible_render_time
flag is on (#1617336) - Fix the librarian to fsync new files and their parent directories
- Handle running Launchpad from a Git working tree
- Handle running Launchpad on Ubuntu 16.04 (upgrade currently in progress)
- Fix
delete_unwanted_swift_files
to not crash on segments (#1642411) - Update database schema for PostgreSQL 9.5 and 9.6
- Check fingerprints of keys received from the keyserver rather than trusting it implicitly
Registry
- Make public SSH key records visible to anonymous API requests (#1014996)
- Don’t show unpublished packages or package names from private PPAs in search results from the package picker (#42298, #1574807)
- Make
Person.time_zone
always be non-None, allowing us to easily show the edit widget even for users who have never set their time zone (#1568806) - Let latest questions, specifications and products be efficiently calculated
- Let project drivers edit series and productreleases, as series drivers can; project drivers should have series driver power over all series
- Fix misleading messages when joining a delegated team
- Allow team privacy changes when referenced by
CodeReviewVote.reviewer
orBugNotificationRecipient.person
- Don’t limit Person:+related-projects to a single batch
Snappy
- Add webhook support for snaps (#1535826)
- Allow deleting snaps even if they have builds
- Provide snap builds with a proxy so that they can access external network resources
- Add support for automatically uploading snap builds to the store (#1572605)
- Update latest snap builds table via AJAX
- Add option to trigger snap builds when top-level branch changes (#1593359)
- Add processor selection in new snap form
- Add option to automatically release snap builds to store channels after upload (#1597819)
- Allow manually uploading a completed snap build to the store
- Upload
*.manifest
files from builders as well as*.snap
(#1608432) - Send an email notification for general snap store upload failures (#1632299)
- Allow building snaps from an external Git repository
- Move upload to
FAILED
if its build was deleted (e.g. because of a deleted snap) (#1655334) - Consider
snap/snapcraft.yaml
and.snapcraft.yaml
as well assnapcraft.yaml
for new snaps (#1659085) - Add support for building snaps with classic confinement (#1650946)
- Fix
builds_for_snap
to avoid iterating over an unslicedDecoratedResultSet
(#1671134) - Add channel track support when uploading snap builds to the store (contributed by Matias Bordese; #1677644)
Soyuz (package management)
- Remove some more uses of the confusing .dsc component; add the publishing component to SourcePackage:+index in compensation
- Add
include_meta
option toSPPH.sourceFileUrls
, parallelingBPPH.binaryFileUrls
- Kill debdiff after ten minutes or 1GiB of output by default, and make sure we clean up after it properly (#314436)
- Fix handling of << and >> dep-waits
- Allow PPA admins to set external_dependencies on individual binary package builds (#671190)
- Fix
NascentUpload.do_reject
to not send an erroneous Accepted email (#1530220) - Include DEP-11 metadata in Release file if it is present
- Consistently generate Release entries for uncompressed versions of files, even if they don’t exist on the filesystem; don’t create uncompressed Packages/Sources files on the filesystem
- Handle
Build-Depends-Arch
andBuild-Conflicts-Arch
fromSPR.user_defined_fields
in Sources generation and SP:+index (#1489044) - Make index compression types configurable per-series, and add xz support (#1517510)
- Use SHA-512 digests for GPG signing where possible (#1556666)
- Re-sign PPAs with SHA-512
- Publish by-hash index files (#1430011)
- Show SHA-256 checksums rather than MD5 on DistributionSourcePackageRelease:+files (#1562632)
- Add a per-series switch allowing packages in supported components to build-depend on packages in unsupported components, used for Ubuntu 16.04 and later
- Expand archive signing to kernel modules (contributed by Andy Whitcroft; #1577736)
- Uniquely index
PackageDiff(from_source, to_source)
(part of #1475358) - Handle original tarball signatures in source packages (#1587667)
- Add signed checksums for published UEFI/kmod files (contributed by Andy Whitcroft; #1285919)
- Add support for named authentication tokens for private PPAs
- Show explicit
add-apt-repository
command on Archive:+index (#1547343) - Use a per-archive OOPS timeline in archivepublisher scripts
- Link to package versions on DSP:+index using
fmt:url
rather than just a relative link to the version, to avoid problems with epochs (#1629058) - Fix
RepositoryIndexFile
to gzip without timestamps - Fix
Archive.getPublishedBinaries
API call to have a constant query count (#1635126) - Include the package name in package copy job OOPS reports and emails (#1618133)
- Remove headers from Contents files (#1638219)
- Notify the Changed-By address for PPA uploads if the .changes contains “Launchpad-Notify-Changed-By: yes” (#1633608)
- Accept .debs containing
control.tar.xz
(#1640280) - Add
Archive.markSuiteDirty
API call to allow requesting that a given archive/suite be published - Don’t allow cron-control to interrupt publish-ftpmaster part-way through (#1647478)
- Optimise non-SQL time in
PublishingSet.requestDeletion
(#1682096) - Store uploaded .buildinfo files (#1657704)
Translations
- Allow TranslationImportQueue to import entries from file objects rather than having to read arbitrarily-large files into memory (#674575)
Miscellaneous
- Use gender-neutral pronouns where appropriate
- Self-host the Ubuntu webfonts (#1521472)
- Make the beta and privacy banners float over the rest of the page when scrolling
- Upgrade to pytz 2016.4 (#1589111)
- Publish Launchpad’s code revision in an
X-Launchpad-Revision
header - Truncate large picker search results rather than refusing to display anything (#893796)
- Sync up the lists footer with the main webapp footer a bit (#1679093)
Tags: bug fixes, front-page
April 29th, 2017 at 6:27 am
Hey guys. Filling bugs gives Error: Timeout OOPS-cac977cd8199aee89496fed02e9226d0, and status page in the footer – https://twitter.com/launchpadstatus – is not really a status page, so this blog is the only channel to tell you that.
May 8th, 2017 at 4:48 pm
I cannot connect to: W: Failed to fetch http://ppa.launchpad.net/xubuntu-dev/xfce-4.12/ubuntu/dists/trusty/main/binary-amd64/Packages 404 Not Found
May 31st, 2017 at 10:13 pm
@anatoly: There’s a “Contact Launchpad Support” link in the footer that you can use, which is much better than infrequently-moderated blog comments. That OOPS seems to have expired now so I can’t check, but I suspect that it’s just the occasional temporary table lock that we run into; we’re hoping that an upcoming PostgreSQL upgrade will help, but it’s usually worth trying again in about ten minutes when you run into this.
@Stanley: That PPA no longer exists. You’ll need to contact Xubuntu people (e.g. https://launchpad.net/~xubuntu-dev has a mailing list) to find out why it was removed or what they recommend you use instead.