Re: [arch-haskell] Layout of ABS tree for Haskell packages?

On Tue, Oct 12, 2010 at 12:04, Rémy Oudompheng
On 2010/10/12 Magnus Therning
wrote: I've just downloaded all 1937 packages maintained by arch-haskell on AUR, and I'm about to put them all in a git repository. Before doing that I thought I'd ask if anyone has suggestions on the directory hierarchy in that repo?
The only criterion I can think of is that we'd probably would want binary and source packages separated in some way. I should say that this is mostly a hunch on my part so I'm more than willing to be convinced otherwise. So, based on this hunch I'm currently leaning towards the following layout:
habs ├── bin │ ├── befunge93 │ │ └── PKGBUILD │ ├── berp │ │ ├── berp.install │ │ └── PKGBUILD │ │ ... ├── aur │ ├── addlicenseinfo │ │ └── PKGBUILD │ ├── advgame │ │ └── PKGBUILD │ │ ...
Any thought or comments on this. I'm particularly interested in comments from people who have experience with working with the ABS-related tools.
I don't think there is such thing as "ABS-related tools", unless you are more specific. I can only share my knowledge of how we are organised for official repos (core/extra...).
I am completely ignorant in this area :-) It's very probably that much I say/ask about ABS is complete bollocks!
Our layout, as I may have explained in an older thread, is rather
root * advgame * - trunk * - repo * berp * - trunk * - repo ...
The idea being than work-in-progress is kept is trunk, and repo is a snapshot of PKGBUILDs which are building correctly. I think your layout is okay too. Do you know if binary packages can be hosted somewhere ? My idea is that if a package can be built successfully, some script would be able to upload this binary package to a FTP server, as well a backuping the PKGBUILD from the "aur" area to the "bin" area so that PKGBUILDs there match the binary packages.
Am I correct in guessing that the layout you describe is held in SVN? This is how I'm thinking of using git: • archhaskell/habs is the official ABS tree, the aim is to always have it in a completely working condition • work-in-progress is kept in individual contributors' own clones • sharing of work-in-progress between contributors' happen in whatever way they see fit, the archhaskell/habs clone is not involved at all • when a contributor is happy with a change a changeset is either sent to the arch-haskell mailing list, or a pull request is created on github • the changeset can then be applied, or denied, by a member of the github archhaskell group I should emphasise that the same procedure should apply to members of the github archhaskell group as well.
The "bin" area is the "ABS" tree, while the "aur" area is the "AUR" tree.
The "bin" area would be the collection of source packages that we decide to build and provide in binary form, the "aur" area would be the collection of source packages that we continue to upload to AUR. Maybe it's better to call the latter "src" instead, since we've been talking about dropping use of AUR completely. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

On 2010/10/12 Magnus Therning
On Tue, Oct 12, 2010 at 12:04, Rémy Oudompheng
wrote: The idea being than work-in-progress is kept is trunk, and repo is a snapshot of PKGBUILDs which are building correctly. I think your layout is okay too. Do you know if binary packages can be hosted somewhere ? My idea is that if a package can be built successfully, some script would be able to upload this binary package to a FTP server, as well a backuping the PKGBUILD from the "aur" area to the "bin" area so that PKGBUILDs there match the binary packages.
Am I correct in guessing that the layout you describe is held in SVN?
This is how I'm thinking of using git:
• archhaskell/habs is the official ABS tree, the aim is to always have it in a completely working condition • work-in-progress is kept in individual contributors' own clones • sharing of work-in-progress between contributors' happen in whatever way they see fit, the archhaskell/habs clone is not involved at all • when a contributor is happy with a change a changeset is either sent to the arch-haskell mailing list, or a pull request is created on github • the changeset can then be applied, or denied, by a member of the github archhaskell group
I should emphasise that the same procedure should apply to members of the github archhaskell group as well.
Even with the method you describe, there is a real difference between "bin" and "src": the first one is a *distribution*. That means that not only does it not include all packages, but it might necessary to hold packages to an older version to keep it the whole thing working. But people who use the source distribution might want to use latest version if they are usable, because they don't necessarily the dependencies which would otherwise be broken by the updates (such a situation would not be acceptable in the binary repo).
The "bin" area is the "ABS" tree, while the "aur" area is the "AUR" tree.
The "bin" area would be the collection of source packages that we decide to build and provide in binary form, the "aur" area would be the collection of source packages that we continue to upload to AUR. Maybe it's better to call the latter "src" instead, since we've been talking about dropping use of AUR completely.
We could call it something like "main" and "extra" or "main"/"unsupported" ? Do you know where binary packages can be hosted. As I said, we need something like 400MB for 1000 packages (but my computer which did the build is currently broken). -- Rémy.

On Tue, Oct 12, 2010 at 13:18, Rémy Oudompheng
On 2010/10/12 Magnus Therning
wrote: On Tue, Oct 12, 2010 at 12:04, Rémy Oudompheng
wrote: The idea being than work-in-progress is kept is trunk, and repo is a snapshot of PKGBUILDs which are building correctly. I think your layout is okay too. Do you know if binary packages can be hosted somewhere ? My idea is that if a package can be built successfully, some script would be able to upload this binary package to a FTP server, as well a backuping the PKGBUILD from the "aur" area to the "bin" area so that PKGBUILDs there match the binary packages.
Am I correct in guessing that the layout you describe is held in SVN?
This is how I'm thinking of using git:
• archhaskell/habs is the official ABS tree, the aim is to always have it in a completely working condition • work-in-progress is kept in individual contributors' own clones • sharing of work-in-progress between contributors' happen in whatever way they see fit, the archhaskell/habs clone is not involved at all • when a contributor is happy with a change a changeset is either sent to the arch-haskell mailing list, or a pull request is created on github • the changeset can then be applied, or denied, by a member of the github archhaskell group
I should emphasise that the same procedure should apply to members of the github archhaskell group as well.
Even with the method you describe, there is a real difference between "bin" and "src": the first one is a *distribution*. That means that not only does it not include all packages, but it might necessary to hold packages to an older version to keep it the whole thing working. But people who use the source distribution might want to use latest version if they are usable, because they don't necessarily the dependencies which would otherwise be broken by the updates (such a situation would not be acceptable in the binary repo).
Indeed, that is exactly it, just much better put than what I managed!
The "bin" area is the "ABS" tree, while the "aur" area is the "AUR" tree.
The "bin" area would be the collection of source packages that we decide to build and provide in binary form, the "aur" area would be the collection of source packages that we continue to upload to AUR. Maybe it's better to call the latter "src" instead, since we've been talking about dropping use of AUR completely.
We could call it something like "main" and "extra" or "main"/"unsupported" ? Do you know where binary packages can be hosted. As I said, we need something like 400MB for 1000 packages (but my computer which did the build is currently broken).
I would accept any of those, or possibly "stable"/"bleedingedge" :-) No, I don't know anywhere to host the binary packages and I don't have any leads to follow for it either. Any ideas anyone? /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

On Tue, 12 Oct 2010 13:43:17 +0100, Magnus Therning
On Tue, Oct 12, 2010 at 13:18, Rémy Oudompheng
wrote: On 2010/10/12 Magnus Therning
wrote: On Tue, Oct 12, 2010 at 12:04, Rémy Oudompheng
wrote: The idea being than work-in-progress is kept is trunk, and repo is a snapshot of PKGBUILDs which are building correctly. I think your layout is okay too. Do you know if binary packages can be hosted somewhere ? My idea is that if a package can be built successfully, some script would be able to upload this binary package to a FTP server, as well a backuping the PKGBUILD from the "aur" area to the "bin" area so that PKGBUILDs there match the binary packages.
Am I correct in guessing that the layout you describe is held in SVN?
This is how I'm thinking of using git:
• archhaskell/habs is the official ABS tree, the aim is to always have it in a completely working condition • work-in-progress is kept in individual contributors' own clones • sharing of work-in-progress between contributors' happen in whatever way they see fit, the archhaskell/habs clone is not involved at all • when a contributor is happy with a change a changeset is either sent to the arch-haskell mailing list, or a pull request is created on github • the changeset can then be applied, or denied, by a member of the github archhaskell group
I should emphasise that the same procedure should apply to members of the github archhaskell group as well.
Even with the method you describe, there is a real difference between "bin" and "src": the first one is a *distribution*. That means that not only does it not include all packages, but it might necessary to hold packages to an older version to keep it the whole thing working. But people who use the source distribution might want to use latest version if they are usable, because they don't necessarily the dependencies which would otherwise be broken by the updates (such a situation would not be acceptable in the binary repo).
Indeed, that is exactly it, just much better put than what I managed!
The "bin" area is the "ABS" tree, while the "aur" area is the "AUR" tree.
The "bin" area would be the collection of source packages that we decide to build and provide in binary form, the "aur" area would be the collection of source packages that we continue to upload to AUR. Maybe it's better to call the latter "src" instead, since we've been talking about dropping use of AUR completely.
We could call it something like "main" and "extra" or "main"/"unsupported" ? Do you know where binary packages can be hosted. As I said, we need something like 400MB for 1000 packages (but my computer which did the build is currently broken).
I would accept any of those, or possibly "stable"/"bleedingedge" :-)
I would use git branches not directories for this. -- Nicolas Pouillard http://nicolaspouillard.fr
participants (3)
-
Magnus Therning
-
Nicolas Pouillard
-
Rémy Oudompheng