Broken dependencies for happstack, how can I help again?

Hello everybody, some time ago I helped adding some package in the repo, and was just starting to understand how to do this when Peter dropped maintaining the repo in favour of Magnus. Magnus introduced this new method with cblrepo, that (it seems to me) automate the updating process, so the group didn't need my work for updating "manually" the packages. Unfortunately today pacman rejected to update my system because happstack-server now need an old version of a package already present. haskell-happstack-server: require haskell-hslogger=1.1.0 (in community there's 1.1.5) Why the requiring a fixed version, when the cabal file doesn't? Is there a way to solve the problem without modifying manually the PKGBUILD? If I do modify the PKGBUILD manually how can I make this available to the repo? I also would like to help adding some more package, but I still don't know how to do this with cblrepo. Thanks for your work, I hope this can help. Cheers Fabio

On Wed, Oct 19, 2011 at 07:30:36PM +0200, Fabio Riga wrote:
Hello everybody,
some time ago I helped adding some package in the repo, and was just starting to understand how to do this when Peter dropped maintaining the repo in favour of Magnus. Magnus introduced this new method with cblrepo, that (it seems to me) automate the updating process, so the group didn't need my work for updating "manually" the packages.
Unfortunately today pacman rejected to update my system because happstack-server now need an old version of a package already present. haskell-happstack-server: require haskell-hslogger=1.1.0 (in community there's 1.1.5)
Why the requiring a fixed version, when the cabal file doesn't? Is there a way to solve the problem without modifying manually the PKGBUILD? If I do modify the PKGBUILD manually how can I make this available to the repo?
It's safer to require a specific version since GHC underneath will code in a dependency on a hash of the version of hslogger used. The end result without strict dependencies would be that pacman allows an upgrade that GHC would reject at runtime, i.e. you end up with a broken system.
I also would like to help adding some more package, but I still don't know how to do this with cblrepo.
After installing cblrepo you would do the following to upgrade hslogger: 0. Update info about all packages that are available on Hackage: % cblrepo idxsync 1. Upgrade the hslogger package: % cblrepo addbasepkg hslogger,1.1.5 2. Bump all packages that use hslogger: % cblrepo bump hslogger 3. Create PKGBUILDs: % cblrepo pkgbuild $(cblrepo build hslogger) 4. Verify that all builds properly: % ./makeahpkg -x -l <dir-for-chroot> -- $(cblrepo build hslogger) 5. If the build succeeds then post the diff either to this list or directly to me. If you want to add packages you use `cblrepo add`. Help is built in, but if you get stuck feel free to send emails to this list or directly to me. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term. -- Alan Kay

Hi Magnus,
Can you tell me what exactly do addbasepkg? What's the difference with
'add'?
As for the diff file, don't you use anymore the git repository? I generated
this patch using git, I hope this is ok. Using github would be easier for me
to stay synced.
Anyway, the cblrepo procedure seems very clean and easy. Great job!
Cheers,
Fabio
Il giorno 20/ott/2011 07:59, "Magnus Therning"
Hello everybody,
some time ago I ... It's safer to require a specific version since GHC underneath will code in a dependency on a hash of the version of hslogger used. The end result without strict dependencies would be that pacman allows an upgrade that GHC would reject at runtime, i.e. you end up with a broken system.
I also would like to help adding some more package, but I still don't know how to do this with ... After installing cblrepo you would do the following to upgrade hslogger:
0. Update info about all packages that are available on Hackage: % cblrepo idxsync 1. Upgrade the hslogger package: % cblrepo addbasepkg hslogger,1.1.5 2. Bump all packages that use hslogger: % cblrepo bump hslogger 3. Create PKGBUILDs: % cblrepo pkgbuild $(cblrepo build hslogger) 4. Verify that all builds properly: % ./makeahpkg -x -l <dir-for-chroot> -- $(cblrepo build hslogger) 5. If the build succeeds then post the diff either to this list or directly to me. If you want to add packages you use `cblrepo add`. Help is built in, but if you get stuck feel free to send emails to this list or directly to me. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term. -- Alan Kay _______________________________________________ arch-haskell mailing list arch-haskell@haskell.org http://www.haskell.org/mailman/listinfo/arch-haskell

On Fri, Oct 21, 2011 at 6:47 PM, Fabio Riga
As for the diff file, don't you use anymore the git repository? I generated this patch using git, I hope this is ok. Using github would be easier for me to stay synced.
I'm on my way to upgrade the repository. (your patch was not rebased on the latest master but will manage). -- Nicolas Pouillard http://nicolaspouillard.fr

On Fri, Oct 21, 2011 at 7:02 PM, Nicolas Pouillard
On Fri, Oct 21, 2011 at 6:47 PM, Fabio Riga
wrote: Hi Fabio,
As for the diff file, don't you use anymore the git repository? I generated this patch using git, I hope this is ok. Using github would be easier for me to stay synced.
I'm on my way to upgrade the repository. (your patch was not rebased on the latest master but will manage).
Update done. -- Nicolas Pouillard http://nicolaspouillard.fr

On Fri, Oct 21, 2011 at 06:47:08PM +0200, Fabio Riga wrote:
Hi Magnus,
Can you tell me what exactly do addbasepkg? What's the difference with 'add'?
It adds a package without recording dependencies. Such a package will never be considered for updates. In short a base package is a package in one of the official repos.
As for the diff file, don't you use anymore the git repository? I generated this patch using git, I hope this is ok. Using github would be easier for me to stay synced.
Sure, we use git on github so of course it's even more convenient for us if you use it yourself and create a pull request. However, you don't _have_ to do that, just posting patches to the list is also good.
Anyway, the cblrepo procedure seems very clean and easy. Great job!
Good that you think so. There are some further improvements needed, but I've found it quite usable already. /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves. -- Alan Kay
participants (3)
-
Fabio Riga
-
Magnus Therning
-
Nicolas Pouillard