You are not logged in.

#1 2008-04-09 10:20:48

donri
Member
Registered: 2008-04-09
Posts: 11

Git repos for user PKGBUILDs

So lets face it, AUR doesn't allow any cool stuff.

Imagine if every contributor maintained their own git repository of their PKGBUILDs.

Imagine if these repositories were hosted on GitHub.

See a problem with a PKGBUILD? fork, add, commit, push, pull request.

Want to collaborate with others on a (set of) PKGBUILD(s)? Perhaps set up a team and a hierarchy. Let the team handle specific tasks, accept patches relevant to their task. You are at the top, deciding which of their commits should be merged in your repository. People clone your repository to build your teams packages - or maybe they choose to ignore your hierarchy if they feel like it! Anyone can create any mix of any repositories and commits, crafting their perfect custom builds.

Choose who you trust. Let your trusties trust others by proxy, for you. Clone their clones.

No longer wait for that outdated kinda-crappy PKGBUILD to be orphaned.

So what's the downside? Well, search would suck. So we create a registry! Index git repositories, extract versioning information from PKGBUILDs, perhaps have some sort of voting mechanism. Still a simpler codebase than AUR today.

Offline

#2 2008-04-09 11:37:32

tomk
Forum Fellow
From: Ireland
Registered: 2004-07-21
Posts: 9,839

Re: Git repos for user PKGBUILDs

So when will it be ready? tongue

Seriously, nothing convinces people quicker than something that is actually up and running. "Build it and they will come", as they say in the movies. Or "do first, ask later", as it now says somewhere in our wiki (I take credit for that one, btw wink )

However, if you want to continue discussing it, this thread is good, but the aur-general and/or aur-dev mailing lists would probably be better.

Offline

#3 2008-04-09 11:46:24

donri
Member
Registered: 2008-04-09
Posts: 11

Re: Git repos for user PKGBUILDs

Sure, but I'm not about to waste time on an idea noone likes - so lets see what the attitude is. Also my idea is not very well thought trough yet and people might have useful contributions. Things like, should every pkgubild be a separate repository? Or could branches be employed somehow? Or should each user have a single repo single branch with all their pkgbuilds? Or should every repo be a fork of some main repo? etc etc.

Offline

#4 2008-04-09 12:22:20

Husio
Member
From: Europe
Registered: 2005-12-04
Posts: 359
Website

Re: Git repos for user PKGBUILDs

+1

It can be github, repo.cz or simple ftp server. It doesn't matter.

It's something like CRUX ports : http://crux.nu/portdb/

If you need help with it, just msg me wink

Last edited by Husio (2008-04-09 12:27:34)

Offline

#5 2008-04-09 12:29:50

Cerebral
Forum Fellow
From: Waterloo, ON, CA
Registered: 2005-04-08
Posts: 3,108
Website

Re: Git repos for user PKGBUILDs

donri wrote:

Sure, but I'm not about to waste time on an idea noone likes - so lets see what the attitude is

I can't tell you how many times I've heard that about a project idea, just to have it never get off the ground.

Despite my pessimism, I wish you luck, as it sounds like a pretty cool idea. smile

Offline

#6 2008-04-09 12:37:08

donri
Member
Registered: 2008-04-09
Posts: 11

Re: Git repos for user PKGBUILDs

Husio wrote:

+1

It can be github, repo.cz or simple ftp server. It doesn't matter.


If you need help with it, just msg me wink

Neat thing about github is the extra features it adds, like easy-forking with instapublicity, like pull-requests, like watching, like hooks, like the github command... And hey, it's all pretty too!

The registry would preferably be host agnostic though, of course. However if you register a github repo, it could make use of its post-receive web hooks. Of course you could always use git's own post-commit hooks, independent of hosting. Otherwise it would just poll.

Regarding help, *I* would write the registry in Rails because it is what I know best. I also know there are ruby libraries for interacting with both git and github, aswell. I would like to write it in Merb, but I'm not sure it's "there" yet.

Offline

#7 2008-04-09 13:21:24

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: Git repos for user PKGBUILDs

I like it. The problem with the 'do it and they will come' approach in this case is that at first it won't be integrated with AUR. Then there will be two competing systems and that would suck a lot. But if you do it and also modify AUR code to work with it, I suspect the AUR devs will say "very nice".

Dusty

Offline

#8 2008-04-09 13:59:28

Husio
Member
From: Europe
Registered: 2005-12-04
Posts: 359
Website

Re: Git repos for user PKGBUILDs

Dusty wrote:

I like it. The problem with the 'do it and they will come' approach in this case is that at first it won't be integrated with AUR.

If it should be integrated with AUR, best way would be writing Django app.

Offline

#9 2008-04-09 14:23:39

donri
Member
Registered: 2008-04-09
Posts: 11

Re: Git repos for user PKGBUILDs

I requested repository search in the api and repository tagging, on github. We'll see what they think, but what it would mean is if we keep each of our PKGBUILDs in separate repositories, tagged say "pkgbuild", implementing any kind of tool (like command line) to search for repositories would be peace of cake. Than you just make your pick and clone it. Want web interface? Github already provides! Want custom? Github's API exports to XML, JSON and YAML.

Offline

#10 2008-04-09 15:21:27

Husio
Member
From: Europe
Registered: 2005-12-04
Posts: 359
Website

Re: Git repos for user PKGBUILDs

donri wrote:

I requested repository search in the api and repository tagging, on github. We'll see what they think, but what it would mean is if we keep each of our PKGBUILDs in separate repositories, tagged say "pkgbuild", implementing any kind of tool (like command line) to search for repositories would be peace of cake. Than you just make your pick and clone it. Want web interface? Github already provides! Want custom? Github's API exports to XML, JSON and YAML.

So what are we waiting for? Show us the code wink If you stop at "it would be nice if..", then nobody would ever implement it. Make first step and community will (probably) follow you.

Offline

#11 2008-04-09 15:47:59

donri
Member
Registered: 2008-04-09
Posts: 11

Re: Git repos for user PKGBUILDs

Husio wrote:
donri wrote:

I requested repository search in the api and repository tagging, on github. We'll see what they think, but what it would mean is if we keep each of our PKGBUILDs in separate repositories, tagged say "pkgbuild", implementing any kind of tool (like command line) to search for repositories would be peace of cake. Than you just make your pick and clone it. Want web interface? Github already provides! Want custom? Github's API exports to XML, JSON and YAML.

So what are we waiting for? Show us the code wink If you stop at "it would be nice if..", then nobody would ever implement it. Make first step and community will (probably) follow you.

What code do you want? The most recent idea relies on unexiting features on github. I hope they implement them.

Their API is explained here: http://github.com/guides/the-github-api
The github command is at gem install github
The Github ruby library is at http://github.com/mbleigh/ruby-github/tree/master

Ruby Git libraries:
http://github.com/schacon/ruby-git/tree/master
http://github.com/schacon/git-ruby/tree/master
http://github.com/mojombo/grit/tree/master

If they implement my requests, I could easily hack together a command line client for searching PKGBUILD repositories. The rest is up to Git and GitHub.

Create a new PKGBUILD? Tag it "pkgbuild".
Change an existing? Fork someones. Preferably send them a pull request when done.
Like many implementations? Merge them.
Want to discuss a PKGBUILD? Each repo has its own wiki.
Want to search from the web interface? Search tag "pkgbuild" and your other criterias.
Want to write your own tools for all this? Access the hub API with XML, JSON, YAML. Perhaps use ruby-github if you like Ruby. Perhaps use a Git frontend-backend (did I just invent that word?) of your favorite language.

If they implement my requests, there's no need for any extra coding - I'd just find it neat with a command line search + build tool (think yaourt). We might want to "standardize" the repository layout and perhaps also things regarding the wikis, but beyond that, most of it works now, today!

Offline

#12 2008-04-09 23:03:09

donri
Member
Registered: 2008-04-09
Posts: 11

Re: Git repos for user PKGBUILDs

As for issue tracking, I would suggest something like ditz.

Offline

#13 2008-04-09 23:23:00

donri
Member
Registered: 2008-04-09
Posts: 11

Re: Git repos for user PKGBUILDs

Perhaps worth mentioning is Gitorious provides some of the features which would make this tick, and it also have repository tagging so we can e.g. search for "category:pkgbuild foobar", however, it doesn't provide pull-requests, api or wiki (or any alternative to discuss publicly), atleast not to my knowledge.

Update: Actually, scratch that. It has both comments (which are likely preferable to wiki) and "merge requests". Don't know about API, could parse the html but that's sensitive to layout changes. I'll ask if they have any plans for an API.

Update: There is an API although it doesn't seem to be documented. There is already a command line tool, although it currently lacks the very two features we'd need the most: search and comment listing, but it's apparently in the TODO and I'd guess it means it's supported in the API. It also simplifies the rest of the workflow.

Update: Gitorious is also open source in itself (GPLv2) and available at http://gitorious.org/projects/gitorious. Adding to it is thus a matter of forking mainline, commiting your changes and sending a merge-request. The same workflow we'd use for our PKGBUILDs already. If they're not merged upstream, we can even host our own version (slicehost anyone?). If nothing else, Gitorious is at the very least an interesting candidate for a codebase to start off with. Note that GitHub on the other hand is not open source.

Update: Just one thing about Gitorious, projects are not user-centric. This means if we make a project "libfoo" for "libfoo" PKGBUILDS and later the actual "libfoo" wants to use gitorious, well, it'd be weird. We'd have to put some mark in the project names too, even though we have categories. This is of course not a problem if we host our own setup of gitorious. Also, the first to register a project gets to be mainline as opposed to on GitHub where there is no "mainline". Well there is a root of the fork tree, but you might as well create a whole new repository called exactly the same - they're user-centric not project-centric. Also on gitorious if you'd want to start from scratch on an existing PKGBUILD with a new history you'd need a new project for which you have to make up a new name (maybe just add your nick to the old project name. hm, hey, maybe that's a solution, that'd make projects user-centric...)

Last edited by donri (2008-04-10 02:46:03)

Offline

#14 2008-08-29 22:41:00

nofxx
Member
Registered: 2008-01-03
Posts: 11

Re: Git repos for user PKGBUILDs

So.. I even signed up for TU, with an evil plan to propose this! A new aur on git + ruby + grit... its perfect... its more than perfect.

Problem was: I forgot about a sponsor and at the same I went to a new job, so time is a problem right now.

Any news on this?! April?

Offline

Board footer

Powered by FluxBB