lp:~bryce/git-ubuntu

Owned by Bryce Harrington
Get this repository:
git clone https://git.not.enabled/~bryce/git-ubuntu
Only Bryce Harrington can upload to this repository. If you are Bryce Harrington please log in for upload directions.

Branches

Name Last Modified Last Commit
start-patch-pilot-tips-sheet 2023-09-21 00:11:13 UTC
patch-pilot: Explain the empty directories workflow

Author: Bryce Harrington
Author Date: 2023-09-20 17:05:10 UTC

patch-pilot: Explain the empty directories workflow

Primarily exists as a pointer to proper documentation for the workflow,
but with a high level explanation in perspective of patch piloting for
context.

project-c42-cli-tests.6 2021-09-17 23:08:58 UTC
merge: Fix pylint issues

Author: Bryce Harrington
Author Date: 2021-09-17 21:34:59 UTC

merge: Fix pylint issues

(Remaining lint issues appear to be false-positives)

project-c42-cli-tests.5 2021-08-25 20:07:32 UTC
Revert corrections to git_repository_test.py

Author: Bryce Harrington
Author Date: 2021-08-25 20:07:32 UTC

Revert corrections to git_repository_test.py

The donotmail.com address appears to come from elsewhere.

project-c42-cli-tests.4 2021-08-25 18:44:54 UTC
Reimplement test_do_update_maintainer and test_do_finish

Author: Bryce Harrington
Author Date: 2021-08-25 18:44:54 UTC

Reimplement test_do_update_maintainer and test_do_finish

project-c42-cli-tests.3 2021-07-28 22:29:14 UTC
merge: Add code docs

Author: Bryce Harrington
Author Date: 2021-07-28 15:30:01 UTC

merge: Add code docs

project-c42-cli-tests.2 2021-07-28 15:30:01 UTC
merge: Add code docs

Author: Bryce Harrington
Author Date: 2021-07-28 15:30:01 UTC

merge: Add code docs

fix_export_orig_empty_tarballs_traceback 2021-07-09 20:04:17 UTC
build: Ensure fetch_orig() always returns a list

Author: Bryce Harrington
Author Date: 2021-07-08 21:01:10 UTC

build: Ensure fetch_orig() always returns a list

When no tarballs can be successfully found by any mechanism,
fetch_orig()'s loop will exit. Since no return statement was provided
in such a case, the function returns None. exportorig.py's main()
routine returns this None directly to the top level, where it is stored
in the variable tarball. This results in a traceback like:

  File "/snap/git-ubuntu/477/usr/lib/python3/dist-packages/gitubuntu/exportorig.py", line 117, in cli_main
    if len(tarballs) > 0:
  TypeError: object of type 'NoneType' has no len()

We don't yet have test cases for build.py, but I added an assert in
fetch_orig() prior to its return to avoid papering over unrelated errors
in mechanisms.

Fixes: https://bugs.launchpad.net/usd-importer/+bug/1868631

master 2020-05-27 23:31:18 UTC
Move derive_target_branch() to git_repository

Author: Bryce Harrington
Author Date: 2020-05-26 21:31:34 UTC

Move derive_target_branch() to git_repository

This routine from the lint module was used in submit and git_repository.
Since this deals with git branch information it fits better with
git_repository than elsewhere.

project-c98-remove-cli-lint-command 2020-05-26 21:35:12 UTC
Move derive_target_branch() to git_repository

Author: Bryce Harrington
Author Date: 2020-05-26 21:31:34 UTC

Move derive_target_branch() to git_repository

This routine from the lint module was used in submit and git_repository.
Since this deals with git branch information it fits better with
git_repository than elsewhere.

project-c88-remove-cli-build-command 2020-05-19 01:37:37 UTC
Remove build command

Author: Bryce Harrington
Author Date: 2020-05-19 01:15:37 UTC

Remove build command

The build command was introduced experimentally during the pre-1.0
development period. This prototype served as a useful proof of concept
but exposed some areas where deeper design work is needed to make it
properly support anticipated use cases. It is likely that this command
will be brought back once it has better testsuite support and better
underpinnings.

project-c97-remove-importppa-importlocal-review 2020-05-07 06:45:23 UTC
Remove review cli command

Author: Bryce Harrington
Author Date: 2020-05-04 22:06:35 UTC

Remove review cli command

The review command was introduced experimentally during the pre-1.0
development period, however it is not believed to be widely used yet,
lacks test cases, and does not have a complete implementation.

project-c42-cli-tests.1 2020-04-17 02:21:40 UTC
WIP: Implement more test cases

Author: Bryce Harrington
Author Date: 2020-04-17 02:21:40 UTC

WIP: Implement more test cases

Main focus here is changelog merge functionality.

merge.py's routines shell out to run git, update-maintainer,
dpkg-mergechangelogs, etc. but do not check exit codes, which limits
testing of invalid inputs, so have to skip them for now. Probably
worth following up after refactoring.

Note: This will be squashed together with the other WIP commit for landing.

fix-lp1872491-add-git-ssh 2020-04-13 19:33:35 UTC
clone: Allow git+ssh proto for fetch

Author: Bryce Harrington
Author Date: 2020-04-13 19:33:35 UTC

clone: Allow git+ssh proto for fetch

git-ubuntu clone uses the 'https' protocol by default, but provides a
--proto CLI option for the user to select other options. The allowed
options are 'git', 'http', and 'https'.

This patch adds 'git+ssh' as another allowed option. Manual testing
shows it works as expected with git ubuntu, with no further
configuration required.

N.b. there are other protocols permitted by git, such as 'ssh', 'ftp',
and local. These may require additional configuration work to set up,
so are omitted for now until use cases are identified.

0.9.4-release 2020-02-26 13:26:24 UTC
Despite being in 'universe', fence-virt is an important Ubuntu HA pkg.

Author: Rafael David Tinoco
Author Date: 2020-02-26 13:26:24 UTC

Despite being in 'universe', fence-virt is an important Ubuntu HA pkg.
Adding it to whitelist.

simplify-testing-in-release-process 2020-02-18 20:01:07 UTC
Simplify self-test directions for the release process

Author: Bryce Harrington
Author Date: 2020-02-18 20:01:07 UTC

Simplify self-test directions for the release process

The recently introduced testing improvements for running the self-test
against the locally installed environment is considerably simpler and
faster than the current approach described in the release process, and
should be sufficient to catch most problems. It also obviates the need
to create a release branch, so we won't need to recommend that any
further.

There will still occasionally be some cases where the original testing
process will be necessary, so we'll keep the directions but move them
into README.testing, referenced by note.

0.9.2-release 2020-02-12 22:57:54 UTC
version: bump to 0.9.2

Author: Bryce Harrington
Author Date: 2020-02-12 22:54:13 UTC

version: bump to 0.9.2

mail-failure 2020-02-05 00:22:27 UTC
mailer: Avoid bytes->Text->bytes conversion on mail body

Author: Bryce Harrington
Author Date: 2020-02-01 23:02:03 UTC

mailer: Avoid bytes->Text->bytes conversion on mail body

Fixes formatting issue for emails where the body showed text as
b"blah blah".

This is caused by str.encode() being called on the body, which is
already of types bytes.

For clarification, also correct the typing specifiers to correctly
document the type on the message as bytes, not Text. (These specifiers
don't actually change the type of the parameters they refer to, but they
might show up as failures in lint checks, and may lead to incorrect code
docs).

improve-email-notice-log-msg 2020-01-07 23:33:37 UTC
Log when emails are sent, not when they're not sent

Author: Bryce Harrington
Author Date: 2020-01-07 23:33:37 UTC

Log when emails are sent, not when they're not sent

mailer.notify() queues up package results to send email summary
notifications after some interval has passed. It returns True when that
email actually is sent, False if no email needed sent, and throws
exceptions on actual email service faults.

This warning is thus incorrect; the false return doesn't indicate a
failure, just that it wasn't time to send an email. And in fact it's
probably not interesting to log anyway. Instead, log when emails *are*
sent.

systemd-cleanup 2020-01-07 17:28:14 UTC
systemd: Drop explicit setting of StandardOutput to journal

Author: Bryce Harrington
Author Date: 2020-01-07 17:26:03 UTC

systemd: Drop explicit setting of StandardOutput to journal

With StandardOutput left undefined, the system's setting (from
/etc/systemd/system.conf) is used instead, which defaults to
journal already. There is no particular reason to override the
system settings.

project-x-doc-improvements 2019-12-12 21:17:41 UTC
git_repository: Copyedit code docs and comments

Author: Bryce Harrington
Author Date: 2019-10-07 20:07:59 UTC

git_repository: Copyedit code docs and comments

sendmail-object 2019-12-11 04:02:31 UTC
systemd: Include last 100 lines from journal in system failure emails

Author: Bryce Harrington
Author Date: 2019-11-25 16:49:09 UTC

systemd: Include last 100 lines from journal in system failure emails

Log errors from this script to the journal as well.

Also, drop unnecessary User/Group settings in service, since this runs
fine as the current (non-root) user.

fix-lp1799466-build-source-is-superfluous 2019-12-10 07:55:12 UTC
build: Deprecate 'build-source' in favor of 'build -S'

Author: Bryce Harrington
Author Date: 2019-12-06 01:55:29 UTC

build: Deprecate 'build-source' in favor of 'build -S'

The build-source command is just a thin wrapper around the build
command, which effectively just passes '-S'. Instead, make the build
command accept '-S' and just pass it along to dpkg-buildpackage.

project-c42-cli-tests 2019-12-04 02:35:26 UTC
build: Deprecate 'build-source' in favor of 'build -S'

Author: Bryce Harrington
Author Date: 2019-12-04 02:26:02 UTC

build: Deprecate 'build-source' in favor of 'build -S'

The build-source command is just a thin wrapper around the build
command, which effectively just passes '-S'. Instead, make the build
command accept '-S' and just pass it along to dpkg-buildpackage.

fix-lp1774330-cleanup-help-output 2019-11-28 00:31:33 UTC
Cleanup --help output formatting and show all available commands

Author: Bryce Harrington
Author Date: 2019-11-28 00:31:33 UTC

Cleanup --help output formatting and show all available commands

Show all of the available subcommands instead of an incomplete subset.
Some commands may be experimental or only relevant for certain subcases,
but it's probably better that these cases are identified and documented
rather than hidden.

The formatting of the text is also improved. argparser was indenting
the subcommands, treating them as content body for the <command>
positional argument. This was indenting too far to the left, making it
look strange. Instead, just move this text into argparser's epilog and
handle indentation ourselves.

LP: #1774330

release-process 2019-11-27 17:34:33 UTC
doc: Define a release process

Author: Bryce Harrington
Author Date: 2019-11-22 01:05:13 UTC

doc: Define a release process

release-0.8.0 2019-11-22 01:05:43 UTC
version: bump to 0.8.0

Author: Bryce Harrington
Author Date: 2019-11-20 23:32:29 UTC

version: bump to 0.8.0

systemd-service 2019-10-31 16:06:59 UTC
setup.py: Bump lazr.restfulclient version requirement

Author: Bryce Harrington
Author Date: 2019-10-30 04:40:12 UTC

setup.py: Bump lazr.restfulclient version requirement

Originally, commit 80c3e0b5 specified this to 0.13.5, and commit
9557cf90 bumped it to 0.14.0. But bionic is currently shipping 0.14.2
and this is what pip has been pulling in during jenkins builds, so
update the requirement to match what's actually been in use.

This fixes an issue caught in the recent addition of `pip3 check` to
git-ubuntu-self-test, where the versions were mis-matched.

    gitubuntu 0.7.4 has requirement lazr.restfulclient==0.14.0, but you have lazr.restfulclient 0.14.2.

systemd-service-repro-fail 2019-10-30 23:39:44 UTC
Improve testsuite to verify dependencies and provide coverage of python scripts.

Author: Bryce Harrington
Author Date: 2019-10-30 00:09:28 UTC

Improve testsuite to verify dependencies and provide coverage of python scripts.

The test framework, git-ubuntu-self-test, failed to catch the error
fixed by commit 05897c71 for a couple reasons. First, while setup.py
registered systemd as a dependency, neither the snapcraft.yml nor the
jenkins CI verify that python module requirements are met; even though
we had the wrong systemd package, it didn't even get installed and
nothing detected that. Second, the testsuite only includes unit test
coverage for modules, and since this import statement was in a script no
tests exercised it, so if we *had* installed the incorrect systemd
package, the script would still fail on execution after installation.

This patch improves the testsuite by adding checks for these situations.

To address the first problem with dependency checking, a 'pip3 check' is
added to the self test. This checks both that the required python
modules are installed, and that their versions satisfy requirements in
setup.py; for example this will catch problems that the recent pytest
fix (commit 7de260e6) aims to prevent. Since this is a handy way for
first-time users to check their dependencies, 'pip3 check' is suggested
also in the testing docs.

For the second problem, lack of test coverage for our python scripts,
this adds a couple checks: A basic Python3 syntax check for all bin/*.py
files, and an import check on all bin/*.py that have a __main__ defined;
the latter check would have caught the missing systemd.daemon module
dependency.

As well, git-ubuntu-self-test now passes `shellcheck`.

document-required-cachetools 2019-10-07 21:28:53 UTC
README.md: Recommend installation of python3-cachetools

Author: Bryce Harrington
Author Date: 2019-10-07 21:28:53 UTC

README.md: Recommend installation of python3-cachetools

Dependence on python3-cachetools is required from commit
77f0186d09b602953a1f9d56b75f98e336cbd01b. Mention it in the
installation directions.

fix_derive_codename_from_series.4 2019-08-05 16:06:53 UTC
source_information: Document derive_codename_from_series()

Author: Bryce Harrington
Author Date: 2019-07-12 00:05:22 UTC

source_information: Document derive_codename_from_series()

19.011_copyedits 2019-05-29 22:17:13 UTC
man: Revise the git-ubuntu man page description

Author: Bryce Harrington
Author Date: 2019-05-29 22:17:13 UTC

man: Revise the git-ubuntu man page description

Many users' first exposure to git ubuntu documentation will be through
its man pages, and the git-ubuntu.1 page may be the first they see, so
provide a high level basic overview of the toolset.

tests-fixing 2019-05-08 03:58:37 UTC
README: Update instructions regarding preference for snap installation

Author: Bryce Harrington
Author Date: 2019-05-08 03:01:24 UTC

README: Update instructions regarding preference for snap installation

According to Andreas, snap is the preferred installation method for
git-ubuntu on the ubuntu-server team. Robie indicated that the
snapcraft.yaml file is presently the more authoritative representation
of version requirements for dependencies.

132 of 32 results
This repository contains Public information 
Everyone can see this information.

Subscribers