[RFC] cgit in git?

4 messages, 4 authors, 2016-06-15 · open the first message on its own page

[RFC] cgit in git?

From: Lars Hjemli <hidden>
Date: 2016-06-15 22:45:45

Background: I've been asked by the fedora project how to package cgit.
The problem is basically that cgit is designed to be statically linked
with a specific git release (i.e. libgit.a and xdiff/lib.a).

When manually building cgit from a tarball this isn't a problem:
'make get-git' will download the required git sources from kernel.org.
But the buildsystem/policy used by the fedora project does not allow
network access during package builds, and since it is quite unlikely
that the git package always will match the exact release needed by the
cgit package, I only see four options:
1) the fedora project makes a 'git-for-cgit' package containing the
needed release of the git sources
2) the cgit release tarballs includes the needed git sources
3) the cgit sources are subtree-merged into git
4) cgit is modified to link against libgit2

Option 1 seems unlikely to happen since such a 'git-for-cgit' package
would basically require the fedora project to support two git
packages.

Option 2 is doable but still requires the fedora project to support
two git packages (but now the 'git-for-cgit' package is hidden inside
the cgit source tree). The good thing about this option is that it
only requires some minor modifications to the cgit releases.

Option 3 would solve the problem for the fedora project but is not for
me to decide - it might become an extra maintenance burden on the git
maintainer and community.

Option 4 is the correct solution but not a very practical one; it's
currently hard to predict when libgit2 will be ready for general
(c)git use.

Personally I'd love for option 3 to happen, hence this rfc.

-- 
larsh

Re: [RFC] cgit in git?

From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:45

On Thu, Dec 11, 2008 at 10:48:45PM +0100, Lars Hjemli [off-list ref] wrote:
2) the cgit release tarballs includes the needed git sources
3) the cgit sources are subtree-merged into git
4) cgit is modified to link against libgit2

Option 1 seems unlikely to happen since such a 'git-for-cgit' package
would basically require the fedora project to support two git
packages.

Option 2 is doable but still requires the fedora project to support
two git packages (but now the 'git-for-cgit' package is hidden inside
the cgit source tree). The good thing about this option is that it
only requires some minor modifications to the cgit releases.
I don't say 2) is the ideal solution (probably 4) will be), but that's
what we choosed for Frugalware and I think Fedora could live with it as
well.

Re: [RFC] cgit in git?

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:45:45

"Lars Hjemli" [off-list ref] writes:
But the buildsystem/policy used by the fedora project does not allow
network access during package builds, and since it is quite unlikely
that the git package always will match the exact release needed by the
cgit package, I only see four options:
1) the fedora project makes a 'git-for-cgit' package containing the
needed release of the git sources
2) the cgit release tarballs includes the needed git sources
2b) make cgit .spec use _two_ tarballs as a source, one with cgit
sources, one with git sources.  This assumes that you always use
released git version as a base.

This is immediate solution.
3) the cgit sources are subtree-merged into git
I wonder how likely this would be.
4) cgit is modified to link against libgit2
Option 4) would be probably best in long term, but libgit2 doesn't
exists yet.

-- 
Jakub Narebski
Poland
ShadeHawk on #git

Re: [RFC] cgit in git?

From: Johan Herland <hidden>
Date: 2016-06-15 22:45:45

On Thursday 11 December 2008, Lars Hjemli wrote:
Background: I've been asked by the fedora project how to package cgit.
The problem is basically that cgit is designed to be statically linked
with a specific git release (i.e. libgit.a and xdiff/lib.a).

When manually building cgit from a tarball this isn't a problem:
'make get-git' will download the required git sources from kernel.org.
But the buildsystem/policy used by the fedora project does not allow
network access during package builds, and since it is quite unlikely
that the git package always will match the exact release needed by the
cgit package, I only see four options:
1) the fedora project makes a 'git-for-cgit' package containing the
needed release of the git sources
2) the cgit release tarballs includes the needed git sources
3) the cgit sources are subtree-merged into git
4) cgit is modified to link against libgit2

Option 1 seems unlikely to happen since such a 'git-for-cgit' package
would basically require the fedora project to support two git
packages.

Option 2 is doable but still requires the fedora project to support
two git packages (but now the 'git-for-cgit' package is hidden inside
the cgit source tree). The good thing about this option is that it
only requires some minor modifications to the cgit releases.

Option 3 would solve the problem for the fedora project but is not for
me to decide - it might become an extra maintenance burden on the git
maintainer and community.

Option 4 is the correct solution but not a very practical one; it's
currently hard to predict when libgit2 will be ready for general
(c)git use.

Personally I'd love for option 3 to happen, hence this rfc.
Option 5: Include cgit as a submodule in git.git. Then it's available to 
those who want it, but not cloned/built by default.

If that doesn't pan out, I also support option #3.

I've been a happy cgit user for a number of months, and have yet to find a 
single issue where cgit is not better than or equal to gitweb. I have 
nothing bad to say about gitweb per se, but cgit simply offers me a better 
user experience, not least because of its blazing speed.


Have fun!

...Johan

-- 
Johan Herland, [off-list ref]
www.herland.net
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help