Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Isolate tizen artifacts #3

Open
wants to merge 151 commits into
base: experimental-rpm
Choose a base branch
from

Conversation

kaharlichenko
Copy link
Contributor

No description provided.

Git-buildpackage-rpm now always updates the 'VCS:' tag in the exported
spec file. A new config option 'spec-vcs-tag' controls the format:
- if empty, no 'VCS' tag is inserted and possible old 'VCS' tag is
  removed
- otherwise, a 'VCS' tag is inserted or the old 'VCS' tag is updated

- '%(tag)s' expands to the long tag name (from git-describe)

Signed-off-by: Markus Lehtonen <[email protected]>
Add a new commandline option to ignore untracked files. Untracked files
are ignored and do not cause an error. However, an error is given if
there are changes to tracked files.

Signed-off-by: Markus Lehtonen <[email protected]>
Add support for reading the local config file(s) from a given git
tree-ish.

Signed-off-by: Markus Lehtonen <[email protected]>
Read the local gbp config (.gbp.conf, debian/gbp.conf) from the exported
tree instead of the current working copy. This makes sure that we build
correctly even if building something else than the current working copy.

Signed-off-by: Markus Lehtonen <[email protected]>
Use the --all option of git-add so that all tracked files are updated in
all conditions. Previously deletion of tracked files was not staged, for
example.

Signed-off-by: Markus Lehtonen <[email protected]>
With this option you can either only update already tracked files to
index the (untracked=False) or add new files, too.

Signed-off-by: Markus Lehtonen <[email protected]>
Whether to ignore untracked files (untracked=False) or not
(untracked=True). Now, clones the temporary index file from the actual
index, in order to correctly update files.

Signed-off-by: Markus Lehtonen <[email protected]>
Signed-off-by: Ed Bartosh <[email protected]>
Add support for building different kind of "working copies", when using
the --git-export option:
- 'WC.TRACKED': only take files that are already tracked
- 'WC.UNTRACKED': take untracked files, too
- 'WC.IGNORED': also add files that'd normally be ignored

Using '--git-export=WC' behaves like before.

Signed-off-by: Markus Lehtonen <[email protected]>
Add new possible keywords to be used in packaging-tag format string:
'nowtime', 'authortime', 'committime', 'nowtimenum', 'authortimenum' and
'committimenum'.

The '*timenum' keyword denote the corresponding '*time' keyword appended
with an additional incremental serial number. E.g. if 'nowtime' would
produce '20120531', 'nowtimenum' would (the first time) produce
'20120531.1'. If a new tag would be created on the same date, the field
would expand to '20120531.2' etc.

What is completely missing is a way to support these new tag keywords in
git-import-srpm tool. So, if you use these tags, git-import-srpm is not
able to reproduce the tags, (and, it is not necessarily able to
correctly tell if you've already imported a certain version of the
package).

Signed-off-by: Markus Lehtonen <[email protected]>
Redirect stdout and stderr of the (child) command to sys.stdout and
sys.stderr of the caller, respectively. This change is mainly for the
unit tests. It makes Python nose to correctly capture the output of the
child command, too, which in turn suppresses a lot of spurious output
when running nosetests.

Signed-off-by: Markus Lehtonen <[email protected]>
Reduces spurious output from rpmbuild.

Signed-off-by: Markus Lehtonen <[email protected]>
Separate keywords for packaging and upstream tag names. Also, add more
tests for tagging options.

Signed-off-by: Markus Lehtonen <[email protected]>
The name of the package containing zipmerge varies, e.g. 'libzip' in
Fedora 22 vs. 'libzip-tools' in Fedora 23.

Signed-off-by: Markus Lehtonen <[email protected]>
Corresponding the --skip-debian-tag options of import-dsc.

Signed-off-by: Markus Lehtonen <[email protected]>
Prevent a crash when the author (for a raw diff) was None because no
name/email could be determined from git config or environment variables.

Signed-off-by: Markus Lehtonen <[email protected]>
Add some missing (build) dependencies if unit tests are enabled as part
of the build process.

Signed-off-by: Markus Lehtonen <[email protected]>
Similar to what the option does in git-import-orig-[rpm].

Signed-off-by: Markus Lehtonen <[email protected]>
This updates all remote-tracking branches (for the remote that is
fetched from) whose local branch name is identical to the remote branch
name.

Signed-off-by: Markus Lehtonen <[email protected]>
Makes it possible to only checkout certain files from a branch, instead
of switching to the branch. Add a new method instead of extending
checkout() in order to keep it consistent. That is, otherwise checkout()
would have totally different outcome depending on whether paths were
defined of not.

Signed-off-by: Markus Lehtonen <[email protected]>
Treat non-checked-out branches similarly to the current branch when
forcing update. That is, do git merge, instead of just setting the ref.

Also, renames fast_forward_branch() to update_branch() to better match
the functionality.

Signed-off-by: Markus Lehtonen <[email protected]>
The new option can be used to "copy" files from the packaging branch to
the patch-queue branch when doing pq import. The files defined with this
option will appear as new files in one monolithic commit in the
development/patch-queue branch.

By default, the local gbp conf files are imported in order to try to
ensure that gbp sees the same settings on the patch-queue branch as
on the packaging branch.

NOTE: This option does not affect the importing (i.e. apply and commit)
of patches.

Signed-off-by: Markus Lehtonen <[email protected]>
This allows initialization of a GitRepository object, even if the
current working directory (or path given to GitRepository) is not the
top level directory of the git repository.

Don't guess the git meta data dir, but, take it as reported by git
itself.

Signed-off-by: Markus Lehtonen <[email protected]>
Add a new _git_inout2() helper method that returns the git output
(stdout) as a generator - instead of all stdout data in one string.
Useful for handling git commands that are expected to have a lot of
stdout data, like git-archive.

Also, changes the private __git_inout() method to return a generator.

Signed-off-by: Markus Lehtonen <[email protected]>
Return tar data as a generator object, if the 'output' option is not
defined.

Signed-off-by: Markus Lehtonen <[email protected]>
Make dump_tree() utilize the GitRepository.archive() method - similarly
to git_archive_submodules() - instead of ad-hoc Python pipes. This makes
dump_tree() work independent of the callers current working directory.

Signed-off-by: Markus Lehtonen <[email protected]>
This should make the usage of gbp-pq more flexible and prevent mistakes
caused by e.g. running gbp-pq import under some subdirectory.

Signed-off-by: Markus Lehtonen <[email protected]>
marquiz and others added 23 commits December 14, 2015 11:59
Pq branch must be created with 'import'.

Signed-off-by: Markus Lehtonen <[email protected]>
Signed-off-by: Markus Lehtonen <[email protected]>
Signed-off-by: Markus Lehtonen <[email protected]>
Add tests for features that didn't have one, yet.

Signed-off-by: Markus Lehtonen <[email protected]>
Three split packages: git-buildpackage-{common,rpm,doc}

Signed-off-by: Junchun Guan <[email protected]>
Signed-off-by: Markus Lehtonen <[email protected]>
Better compatibility with 3rd party modules that have their own logging
initializations.

Signed-off-by: Markus Lehtonen <[email protected]>
This is the first tool in an effort of enabling gbp in the BitBake build
environment. Gbp-import-bb is a tool for importing packages from a
BitBake-based "combined" distro repository into individual per-package
Git repositories.

Signed-off-by: Markus Lehtonen <[email protected]>
This is a tool for managing patch-queues for packages maintained in the
BitBake packaging format (.bb recipes).

Signed-off-by: Markus Lehtonen <[email protected]>
Initial version of the tool for building BitBake packages from Git.

NOTE: The buildpackage-bb tool itself is able to operate even without an
initialized BitBake build environment although the build likely fails in
this case. However, this makes it possible to export the packaging meta
data, for example.

Signed-off-by: Markus Lehtonen <[email protected]>
This is a new tool for helping to clone remote per-package Git
repositories when working in BitBake-based "full distro" build
environment. This is useful in the case that individual packages are
actually maintained in per-package Git repositories (like Tizen). That
is, the full distro repository that the developer operates in is
composed of the packaging meta data from the individual per-package
repositories. When willing to contribute to a package the developer
would use clone-bb to clone the correct per-package repository and make
his changes there.

NOTE: clone-bb uses GBP_PACKAGING_REPO variable to determine the remote
repository URI. This variable should be defined in the package recipes
in order to make clone-bb usable.

Signed-off-by: Markus Lehtonen <[email protected]>
For forcing the creation of annotated tags. Causes the an editor to be
spawned if no message is given.

Signed-off-by: Markus Lehtonen <[email protected]>
This is a Tizen-specific tool for creating and pushing special submit
tags.

Signed-off-by: Markus Lehtonen <[email protected]>
Signed-off-by: Markus Lehtonen <[email protected]>
Change-Id: I3123ca6f024dcdd380e745f3bbadaba3f5bfc098
Signed-off-by: Markus Lehtonen <[email protected]>
Old versions of python-six shipped on e.g. Debian 7, Ubuntu 12.04 and
openSUSE 12.3 do not contain urllib.

Signed-off-by: Markus Lehtonen <[email protected]>
OpenSUSE doesn't have bitbake in its official repos,
neither there are any in OBS archives,
so there's no way this recommendation can be resolved.
@kaharlichenko
Copy link
Contributor Author

I'm just curious why is this Tizen stuff provided on OpenSUSE only? Not that it really bothers me, it's just for the sake of similarity between the distros. I just wanted to align them, nothing more.

Could you please explain this tizen-gbp-rpm stuff a bit more?

My goal is to package our software for OpenSUSE. In order to build the pipeline properly I need all tools to be installed from RPMs. Thus I need an rpm for git-buildpackage-rpm as well. Currently I'm building it from experimental-rpm branch.

If this branch is something specific to Tizen, could you please suggest me what branch or tag should I build from in order to get gbp-rpm for OpenSUSE which does not contain Tizen specifics?

@marquiz
Copy link
Owner

marquiz commented Jan 13, 2016

The Tizen stuff is not openSUSE-only. The dependency on bitbake is because it was an experimental feature and I had packaged bitbake for openSUSE only. But as said, I'm going to drop the -bb stuff.

Regarding the Tizen-specifics, they are not something that works on Tizen systems only. Merely, they are features that were implemented for helping in Tizen development workflow. Some of which have some issues and don't necessarily ever end up upstream. Some parts are there only for Tizen workflow backward compatibility.

Basic support for buildpackage-rpm, pq-rpm and import-srpm is already merged upstream. You might want to try out the upstream version (master branch) here:
https://github.com/agx/git-buildpackage
and see if it contains everything you need. If it is missing something, let the upstream maintainer and me know and we can work out to merge the missing pieces, or even send pull-request yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants