* Thu Aug 28 2014 Markus Lehtonen tizen/0.6.15-20140828 - Rebase on top of upstream version 0.6.15 - Changes in buildpackage-rpm * new 'commitish' keyword for spec vcs tag * notify: catch RuntimeError when importing pynotify * fix exit code in case of GitRepositoryError * always create tarball for native packages * check submodules from the exported treeish * fix crash when running prebuild hook * always run cleaner hook * add --git-no-build option * don't crash on invalid vcs format strings * add '--git-native' option * remove some outdated/unnecessary exception handling * get rid of prepare_export_dir() * handle invalid keys in orig prefix * internal refactoring and fixes - Changes in rpm-ch * implement --commit option * implement --commit-msg option * rpm-ch: implement --meta-bts option * rpm.policy: don't allow leading whitespace in bts meta tags - docs: manpages for the rpm tools - Misc. fixes and features * buildpackage: refactor tarball compression * gbp-dch: fix handling of the '--meta' option * import-orig-rpm: download tarball into parent directory * GitRepository/has_submodules: add treeish argument * tristate: implement __nonzero__() method - Logging: * don't automatically setup gbp-specific logger * fix auto colorizing for custom streams - Tests * multiple fixes and additions in ComponentTestBase class * testutils: add directories arg to ls_* functions * add unit tests for buildpackage-rpm - Packaging * rpm-packaging: recommend/require unzip * recommend/require zipmerge * depend/recommend rpmbuild * [ Junchun Guan ] Add PKGBUILD to support arch linux * [ Li Jinjing ] rpm packaging: use macro for python binary * Wed May 21 2014 Markus Lehtonen tizen/0.6.12-20140521 - Rebase on top of upstream version 0.6.12 - Changes in rpm-ch * add --message cmdline option For giving the text for new changelog entry/entries, skipping git commit messages entirely. * implement '--all' option If defined, git-rpm-ch uses all commits in the Git history. Also, '--since' option is omitted. * implement --color-scheme option * use name (string) as the entry author * internal refactoring * fix crash in guessing the start commit - Changes in pq-rpm * implement --retain-history option With this option defined gbp tries to preserve the history when converting. That is, for each commit in the old branch create one corresponding commit in the new orphan packaging branch. This works by dumping packaging files and updating patches for each commit. However, empty commits are not generated - these are caused e.g. by changes in files that are ignored by patch-generation. NOTE! Only valid for the 'convert' action. * convert: don't try to commit empty set of patches * make sure we always get a sane author * slight unification of log messages * decrease (default) verbosity a bit * don't create pq branch when switching - Changes in buildpackage-rpm * buildpackage-rpm: fix desktop notifications * buildpackage-rpm: remove --purge option * guess/parse spec as early as possible - Documentation * Include man pages in RPM packages * Add -doc subpackage to RPM packaging * Build deb and rpm html docs in one docbook * A multitude of small cosmetic fixes - Other misc. internal changes * GitRepository: implement create_tree() method * rpm: suppress some verbosity when updating patches in spec file * [ Li Jinjing ] Fix missing return value in get_current_branch method * Thu Mar 06 2014 Markus Lehtonen tizen/0.6.8-20140306 - Rebase on top of upstream version 0.6.8 - Introduce git-rpm-ch tool. Initial version of the git-rpm-ch tool which is intended for maintaining RPM changelogs. Supports both spec files and separate "OBS style" changelog files. Implement '--tag' command line option (and other related options for signing) for creating and tagging a release. These correspond the tagging options in git-buildpackage-rpm. The git-buildpackage-rpm tool does not commit anything to git. However, in rpm-ch the '--tag' option causes the changelog modifications (and, all other staged changes) to be committed to git before creating the tag. This makes it possible to create a release and document the packaging/release tag name in the rpm changelog. - Changes to gbp-pq-rpm: * implement 'convert' subcommand. The new subcommand is intended to be a one-time-callable command for converting a package to use the "orphan-packaging" development model and git layout (where packaging files are maintained in a separate branch and code development in another branch). * implement '--import-files' command line option. For defining the packaging file(s) that will be imported into the development/patch-queue branch. By default, the local gbp conf files are imported (so that gbp sees the same settings on the development/pq branc as on the packaging branch). Files defined with this option will appear as one monolithic commit in the development/patch-queue branch. * implement --new-packaging-dir cmdline option. Used for setting the packaging directory to be used in the new orphan packaging branch. Defaults to --packaging-dir so that the gbp.conf files are more likely to work without modification. * fail gracefully on invalid config files * support '%(upstreamversion)s' as a replacable string in the pq branch name. - Changes to git-buildpackage-rpm * patch-export from development branch. Adds git-buildpackage-rpm --patch-export support for the 'orphan packaging' development model (where packaging files and development sources are kept in separate branches). New functionality: 1. If patch-export is enabled and gbp detects that the current branch has a development/patch-queue branch it exports the patches from there, instead of the tip of the packaging branch. 2. If gbp detects that the current (or exported) branch is a development/patch-queue branch it automatically enables patch-export and exports packaging files from the base branch (instead of the development/patch-queue branch. Also, add a new '--git-patch-export-rev' command line option with which the user can explicitly set the treeish from which patches are generated (i.e. HEAD..) * fix spec file vcs update when doing git-tag-only * change default export directory. So that the git working directory is not dirtied, by default. - Changes ti git-import-orig-rpm: * disable --merge by default. Merging upstream to packaging does not usually make sense with rpm packages. Merely, it can create confusion cause unapplicable patches to be generated. * implement --create-missing-branches option. * implement automatic downloading. Automatically try to download the archive if the archive filename points to a remote location. * get archive from spec file. Try to get archive path/filename from spec file if no file name is given on the command line. This should make version bumps more straightforward: just update version number in the spec file and run 'git-import-orig-rpm'. - git-import-orig: implement --create-missing-branches option. - Fixes and new features in GitRepository class * GitRepository/get_commit_info: correctly handle file renames/copies. * GitRepository.create_branch: add 'force' option * GitRepository.archive: add 'paths' option * GitRepository/git_command: strip stderr output in case of error. * GitRepository/add_remote_repo: fix the 'tags' argument. * GitRepository: allow interactive commands. * GitRepository: fix the 'edit' mode in commit methods. * GitRepository.commit_files: add committer_info and edit arguments. * GitRepository.commit_all: add committer_info argument. - Fixes and new features in internal rpm/spec support * rpm.SpecFile: add 'specpath' attribute * rpm: correctly handle 'NoSource' and 'NoPatch' tags in spec. * rpm: Implement spec_from_repo() helper function * rpm: track all "section" directives in spec file. * rpm: add gbp.rpm.changelog module. This new module contains basic containers and functionality for parsing and updating rpm changelogs. It is coupled with the rpm packaging policy class which now has definitions for rpm changelog formatting. * rpm: support for getting/setting changelog in spec. SpecFile objects now support reading and writing of the %changelog section. * rpm: store full path of spec file sources - Fix detection of prefix directory in tarballs gbs import failed to import tarball properly if paths in the archive were prefixed with "./". * Tue Jan 07 2014 Markus Lehtonen 0.6.8 - Rebase on top of upstream version 0.6.8 * Mon Dec 02 2013 Markus Lehtonen 0.6.6 - Rebase on top of upstream version 0.6.6 - UpstreamSource: fix archive prefix guessing - pq-rpm: create diff up to the last merge commit Before, merge commits broke patch generation, or, (most probably) caused the generated patches to be unapplicable (similar to how git-format-patch behaves). Now, changes up to the last merge commit are squashed into one diff if merge commits are found in the revision list from which patches are to be generated. Individual patches (one per commit) are generated from the last merge commit up to the exported revision. - pq-rpm: magic word HEAD for patch-squashing When given as the squash-point, 'HEAD' translates to the end-commit. This allows one to configure gbp to always squash all commits into one monolithic diff. * Thu Oct 17 2013 Markus Lehtonen 0.6.3 - buildpackage: support 'commit' variable for VCS tags - Clone a repository to a specific directory - Fix gbs clone failure if repo url is like host:repo.git - SpecFile.set_tag: change the default place for new tags - remove 'repo' param to adapt to changes of write_patch_file - pq: pass commit_info to format_patch() - pq: pass commit_info to format_patch() - pq.write_patch_file: drop unused argument - pq: fix generation of series file - common/pq: fix length of patch filenames - buildpackage: refactor prefix handling - tests: remove unused import in submodule tests - tests: upper case global variables in submodule tests - tests: add some docstrings to git submodule tests - tests: use eq_ and ok_ from nose tools in submodule tests - tests: use sanitize some submodule tests - pq-rpm: don't overwrite patches in the same series - pq: don't overwrite patches in the same series - rpm: support guessing spec file from git treeish - rpm.SpecFile: support parsing spec as raw text data - rpm: minor docstring fixes - rpm: change guess_spec() to return SpecFile object - GitRepository.list_tree: add 'paths' option - common/pq: support more flexible pq-branch naming - pq-rpm: drop unused 'tries' option - GitRepository: deprecate the get_remote_repos method - GitRepository.has_remote_repo: use get_remotes method - git: new class and method for remote repositories - debian packaging: change to 1.0 source package format - Version bump, rebase on top of 0.6.3 * Disable cover-min-percentage setting of nose * docs: minor sgml syntax fix - rpm tests: slight modificatin of import-srpm tests - ComponentTestBase: use eq_() ok_() from nose.tools - tests: add tests for git-import-orig-rpm - ComponentTestBase: keep tmpdir if GBP_TESTS_NOCLEAN is in env - ComponentTestBase: fix env restore in teardown - config: restore mangled env in doctests - import-orig-rpm: remove unneeded try-except - import-orig-rpm: don't crash on invalid gbp.conf - ComponentTestBase: more verbose output in case of branch mismatch - rpm tests: test --filter option of git-import-srpm - tests.testutils: add ls_zip() helper - import-orig: rework sourcecode preparation and filtering - import-orig: new function for filtering/re-packing sources - buildpackage: fix handling of empty tarball prefix - rpm: import orig: import readline in the common module - import orig: import readline in the common module - UpstreamSource.unpack: return UpstreamSource instance - UpstreamSource.pack: reuse unpacked dir if no filter is used - rpm: UpstreamSource: implement prefix guessing - UpstreamSource: implement prefix guessing - UpstreamSource: check that the sources exist - UpstreamSource: store the absolute path - rpm: UpstreamSource: move version guessing logic to PkgPolicy - UpstreamSource: move version guessing logic to PkgPolicy - UpstreamSource.guess_version: don't check for directories - Fix `fatal: fetch --all does not take a repository argument` * Thu Aug 22 2013 Markus Lehtonen 0.6.0git20130530 - rpm: Improve logging in case of rpmlib error - Add clean method to GitRepository class - Add all_remotes option in git fetch command - Add tags option in git push command - rpm: print a warning if importing gbp-specific librpm fails - rpm: implement a wrapper module for rpm lib - rpm: simplify SpecFile._parse_filtered_spec() - Fix pylint warnings, follow Markus' sugesstion - rpm: enhance spec parsing error messages - GitRepository/add_files: consistently update all tracked files - GitRepository: Add refspec option to fetch method - GitRepository: Add all option to pull method - GitRepository: Add force option to push method