I'm interested in having a Koha package available in Debian. I'm also interested in helping to make it happen, although I don't have the skills to do it all myself. After a call on the koha list there are a couple of others willing to help with this. I'd like to invite comments from Koha developers. Is it a good idea to go down this track? Would people like to see Koha in Debian? My original plan was to do a basic package of 2.2.5 with some mysql5 fixes, that would suit my own needs, and try to get it into Etch. However, others have suggested (Actually it was M J Ray http://lists.katipo.co.nz/pipermail/koha/2006/010508.html) modifying the code more extensivly to "look a lot more like the typical perl modules+scripts packages that you find on CPAN". If we're going to go down that path it would probably make sense to pull cvs and perhaps work more closely with the developers feeding back patches if this is seen as a good thing. Following on from that, I guess this is the sort of thing that would happen in a development branch (3) more than a stable branch (2.2?) This is all getting beyond what I really want to do myself - which is to get together a package quickly. I don't have the perl skills to do any extensive work myself. However I am willing to put energy in and assist going down whatever path is appropriate if there are a few people interested and a clear path mapped out. Is this an approprate forum to discuss Debian packaging issues or should we break off into our own list ASAP? Looking forward to your feedback... Alex
Dear Alex Great idea. I am using Ubuntu and will be getting Koha running on that to. This may be of some help. Regards Jack alex@king.net.nz wrote:
I'm interested in having a Koha package available in Debian. I'm also interested in helping to make it happen, although I don't have the skills to do it all myself.
After a call on the koha list there are a couple of others willing to help with this.
I'd like to invite comments from Koha developers. Is it a good idea to go down this track? Would people like to see Koha in Debian?
My original plan was to do a basic package of 2.2.5 with some mysql5 fixes, that would suit my own needs, and try to get it into Etch. However, others have suggested (Actually it was M J Ray http://lists.katipo.co.nz/pipermail/koha/2006/010508.html) modifying the code more extensivly to "look a lot more like the typical perl modules+scripts packages that you find on CPAN".
If we're going to go down that path it would probably make sense to pull cvs and perhaps work more closely with the developers feeding back patches if this is seen as a good thing. Following on from that, I guess this is the sort of thing that would happen in a development branch (3) more than a stable branch (2.2?)
This is all getting beyond what I really want to do myself - which is to get together a package quickly. I don't have the perl skills to do any extensive work myself. However I am willing to put energy in and assist going down whatever path is appropriate if there are a few people interested and a clear path mapped out.
Is this an approprate forum to discuss Debian packaging issues or should we break off into our own list ASAP?
Looking forward to your feedback...
Alex
_______________________________________________ Koha-devel mailing list Koha-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/koha-devel
On Tue, Sep 26, 2006 at 04:21:00PM +1200, alex@king.net.nz wrote:
I'd like to invite comments from Koha developers. Is it a good idea to go down this track? Would people like to see Koha in Debian? Definitely a very good idea.
My original plan was to do a basic package of 2.2.5 with some mysql5 fixes, that would suit my own needs, and try to get it into Etch. However, others have suggested (Actually it was M J Ray http://lists.katipo.co.nz/pipermail/koha/2006/010508.html) modifying the code more extensivly to "look a lot more like the typical perl modules+scripts packages that you find on CPAN". I think 2.2.6 would be a better choice as there are quite a bug fixes and functional improvements.
I'm all for modifying the perl code to make it more cpan-ish
If we're going to go down that path it would probably make sense to pull cvs and perhaps work more closely with the developers feeding back patches if this is seen as a good thing. Following on from that, I guess this is the sort of thing that would happen in a development branch (3) more than a stable branch (2.2?) Probably. However, as things are shaping up at the moment, the 3.0 branch of Koha may be too complex for the average library looking to implement an ILS ... so there may be some value in packaging up the 2.2 series as well. I know LibLime at least, will continue to support the 2.2 series for quite some time.
This is all getting beyond what I really want to do myself - which is to get together a package quickly. I don't have the perl skills to do any extensive work myself. However I am willing to put energy in and assist going down whatever path is appropriate if there are a few people interested and a clear path mapped out.
Is this an approprate forum to discuss Debian packaging issues or should we break off into our own list ASAP? Lets keep this discussion on the main list for now.
Kudos for getting serious. Cheers, -- Joshua Ferraro SUPPORT FOR OPEN-SOURCE SOFTWARE President, Technology migration, training, maintenance, support LibLime Featuring Koha Open-Source ILS jmf@liblime.com |Full Demos at http://liblime.com/koha |1(888)KohaILS
OK, I'm just posting a quick update regarding Debian packaging. Let's keep all the discussion on koha-devel@nongnu.org for now, I think it is appropriate at this early stage. Please subscribe there if you aren't yet. If we get too noisy for that list, we can move to another list when needed. I think Joshua's idea of pulling 2.2.6 (from CVS?) is probably the right one to start with. I think we should maintain our own repository. I think it makes sense to keep the Debian packaging stuff somewhere separate from the main code and merge back whatever work makes sense to the main repository. I've always wanted to try out bzr and I've created my own bzr repository of 2.2.5 (not published atm). Meanwhile, Geoff Crompton has submitted an alioth project request. What do people think? I'm happy to use alioth, and happy that Geoff's taken the initiative to organise it. Geoff, what is the status of the project application? Meanwhile, MJ Ray has suggested: " I think there's a package called something like dpkg-cpan which we should use to package the modules (with names like libperl-marc-record) and then bend the main koha system to do an auto-install into debian/tmp." (Just to clarify, are you talking about modules external to koha that need to be pulled from CPAN or are you talking about parts of koha which could be modularised? I guess you are talking about external dependencies. When I installed Koha 2.2.5 on debian testing my recall is that I didn't need to pull anything from CPAN, everything needed was already in Debian. eg. there is a libmarc-record-perl package already in standard Debian. My recall could be wrong, I might have pulled some stuff from CPAN) MJ Ray also suggests: appoint our debian-perl advisor (someone who subs to that mailing list, relays questions and/or points out where we're getting the perl policy wrong). Anyone volunteering? Who's already on debian-perl? If there is already more than one of us who follow or are willing to follow that list that would be good. And then the main task is to actually produce a package. From my point of view the main task is hacking on the install script to get it to install the package to an arbitrary location (so it can be easily packaged). If anyone wants to give this a go feel free. Also making sure we ultimately install to FHS compliant locations. I'm comfortable with doing the actual packaging once the install script can install to an arbitrary temp location. I'll probably give it a go in the weekend if no-one else does before then. I'm showing my ignorance here, but two things would help me. 1. pointer to a good resource on "learning perl in 24 hours" (I do C, python, shell, awk etc, but never learned perl). 2. A very quick high level overview of what the install script actually does (or a pointer to documentaion). Thanks everyone for your help, Alex Joshua Ferraro wrote:
I think 2.2.6 would be a better choice as there are quite a bug fixes and functional improvements.
I'm all for modifying the perl code to make it more cpan-ish
... Lets keep this discussion on the main list for now.
Kudos for getting serious.
Cheers,
Alex King wrote:
OK,
I'm just posting a quick update regarding Debian packaging.
Let's keep all the discussion on koha-devel@nongnu.org for now, I think it is appropriate at this early stage. Please subscribe there if you aren't yet. If we get too noisy for that list, we can move to another list when needed.
I'm on the list now.
I think Joshua's idea of pulling 2.2.6 (from CVS?) is probably the right one to start with.
I think we should maintain our own repository. I think it makes sense to keep the Debian packaging stuff somewhere separate from the main code and merge back whatever work makes sense to the main repository. I've always wanted to try out bzr and I've created my own bzr repository of 2.2.5 (not published atm). Meanwhile, Geoff Crompton has submitted an alioth project request. What do people think? I'm happy to use alioth, and happy that Geoff's taken the initiative to organise it. Geoff, what is the status of the project application?
I've submitted the application, but have not yet heard anything back. It's not been 24 hours yet. I'll let you know once I hear.
Meanwhile, MJ Ray has suggested: "
I think there's a package called something like dpkg-cpan which we should use to package the modules (with names like libperl-marc-record) and then bend the main koha system to do an auto-install into debian/tmp."
There is the dh-make-perl program, which can convert a CPAN package into a Debian package, with varying levels of success (though in my experience it is pretty good). I don't know if it is going to make light work of the whole koha system. It might work if Koha contains bundled CPAN packages. -- Geoff Crompton Debian System Administrator Strategic Data +61 3 9340 9000
Alex King <alex@king.net.nz> wrote:
I think we should maintain our own repository. I think it makes sense to keep the Debian packaging stuff somewhere separate from the main code and merge back whatever work makes sense to the main repository. I've always wanted to try out bzr and I've created my own bzr repository of 2.2.5 (not published atm).
I have git, tla and cvs installed, but I'm happy to install bzr if needed. I'm really -ve on svn and I failed to install darcs (its Haskell compiler seems to need a Haskell compiler installed). I guess we just want to keep the debian/ directory in it and take the rest from CVS?
Meanwhile, Geoff Crompton has submitted an alioth project request. What do people think?
I'm happy to use alioth if it doesn't limit us. Of course, once the packages get into debian, we should use bugs.debian.org and packages.qa.debian.org as our first line.
(Just to clarify, are you talking about modules external to koha that need to be pulled from CPAN or are you talking about parts of koha which could be modularised? I guess you are talking about external dependencies.
Yes, external deps. I've only been installing koha on stable, so maybe they are all covered now. Thanks to Geoff remembering that the tool's called dh-make-perl.
And then the main task is to actually produce a package. From my point of view the main task is hacking on the install script to get it to install the package to an arbitrary location (so it can be easily packaged).
The install script already supports prefix, etcdir and auto-install, so I doubt much hacking is required. (I added prefix and etcdir some time ago and I think Paul added the auto-install hooks during 2.2.)
If anyone wants to give this a go feel free. Also making sure we ultimately install to FHS compliant locations. [...]
That reminds me: there is a draft debian-webapps policy out there at http://people.debian.org/~seanius/policy/ and one about DB apps at http://people.debian.org/~seanius/policy/dbapp-policy.html/
I'll probably give it a go in the weekend if no-one else does before then. I'm showing my ignorance here, but two things would help me. 1. pointer to a good resource on "learning perl in 24 hours" (I do C, python, shell, awk etc, but never learned perl).
Perl's actually fairly good at coming with introductions, which is partly why it's so popular. Try starting with: man perlintro man perlmod man perlboot man DBI which will probably get you 95% of koha. Unfortunately, it's not always clear to me when koha is just using modules and when it's being OO.
2. A very quick high level overview of what the install script actually does (or a pointer to documentaion).
The body of the installer script is mostly function calls to Install.pm, so it should be fairly clear. Let me know if you want a run-through on IRC some time. Thanks for taking a lead on this. I think I'll be back online properly next week, telco permitting. Best wishes, -- MJ Ray - see http://mjr.towers.org.uk/email.html Somerset, England. Work: http://www.ttllp.co.uk/ IRC/Jabber/SIP: on request
On Wed, Sep 27, 2006 at 09:08:01AM +0100, MJ Ray wrote:
I have git, tla and cvs installed, but I'm happy to install bzr if needed. I'm really -ve on svn and I failed to install darcs (its Haskell compiler seems to need a Haskell compiler installed).
There are binary versions of darcs, which you can just plop in your path. There is also a debian package. Those are recommended unless you want to play with Haskell. http://darcs.net/DarcsWiki/CategoryBinaries -kolibrie
MJ Ray wrote:
Alex King <alex@king.net.nz> wrote:
And then the main task is to actually produce a package. From my point of view the main task is hacking on the install script to get it to install the package to an arbitrary location (so it can be easily packaged).
The install script already supports prefix, etcdir and auto-install, so I doubt much hacking is required. (I added prefix and etcdir some time ago and I think Paul added the auto-install hooks during 2.2.)
I see "my $etcdir = $ENV{etcdir}||'/etc';" in installer.pl, but nothing about prefix? These set the install locations? They get hard coded into just /etc/koha.conf and /etc/koha-httpd.conf? Is it possible to use /etc and /usr and still install files actually under debian/koha (debian/tmp is depreciated)? Talking with Chris he says installer.pl does everything including database initialisation. I see looking at it that it tries to find the hostname (perhaps to customise koha-httpd.conf?) These functions need to be split in two - actually moving files into place to be done during packaging, and /etc and database initialisation during install. I see the comment "...does not support a completely automated setup" I would like to be able to ask most/all of the installer questions through debconf or go with defaults. I'm not experienced enough with library/koha systems to have a really good feel for how we should cater for package users and customising their installs. My gut feeling is that most of the package users will be inexperienced like I am and wanting a "default" install suitable for a small library and not wanting too many questions about setup. Those questions maybe could be asked with a lower debconf priority. OTOH library people might want to have control over those settings and not have the debian experience to change the debconf priority.
2. A very quick high level overview of what the install script actually does (or a pointer to documentaion).
The body of the installer script is mostly function calls to Install.pm,
Yes I see that. It really just raises more questions for me though :)
so it should be fairly clear. Let me know if you want a run-through on IRC some time.
Yes, I'd like that. I'm available roughly 5pm - 12pm NZDT most days, or pretty much any time by arrangement. Let me know when would suit you. Thanks for your help Alex King
Alex King <alex@king.net.nz> wrote:
MJ Ray wrote:
The install script already supports prefix, etcdir and auto-install, so I doubt much hacking is required. (I added prefix and etcdir some time ago and I think Paul added the auto-install hooks during 2.2.) I see "my $etcdir = $ENV{etcdir}||'/etc';" in installer.pl, but nothing about prefix?
Prefix is only used in Install.pm for generating defaults and would be overridden by autoinstall, if we go that way.
These set the install locations?
Yes.
They get hard coded into just /etc/koha.conf and /etc/koha-httpd.conf?
AFAICR, yes.
Is it possible to use /etc and /usr and still install files actually under debian/koha (debian/tmp is depreciated)?
Good catch. Yes, one can rewrite the files afterwards if wanted. It may be better for debian/rules to ignore the installer, TBH, which would help with the CPANisation. I'm not sure it's still worth the effort.
Talking with Chris he says installer.pl does everything including database initialisation. I see looking at it that it tries to find the hostname (perhaps to customise koha-httpd.conf?)
Yes, for koha-httpd.conf I think.
These functions need to be split in two - actually moving files into place to be done during packaging, and /etc and database initialisation during install.
OK. I think there's a third step of entering the librarian's defaults, which could be done mostly after install from the web interface. I think we only ask a few librarian questions in the installer (MARC starter, branch and printer) and they'd be better left until later.
I see the comment "...does not support a completely automated setup" I would like to be able to ask most/all of the installer questions through debconf or go with defaults.
I'm not sure that comment is any longer relevant. If it is, maybe it's time to make it obsoete!
I'm not experienced enough with library/koha systems to have a really good feel for how we should cater for package users and customising their installs. My gut feeling is that most of the package users will be inexperienced like I am and wanting a "default" install suitable for a small library and not wanting too many questions about setup. Those questions maybe could be asked with a lower debconf priority.
OTOH library people might want to have control over those settings and not have the debian experience to change the debconf priority.
I think that's more a reason for including a note on how to change the debconf question level in our installation instructions.
[...] I'm available roughly 5pm - 12pm NZDT most days, or pretty much any time by arrangement. Let me know when would suit you.
I think 0730-0930 UTC (=~ 8.30-10.30pm NZDT?) would be best for me. I'll try to hop on over the next few days at that time. Thanks, -- MJ Ray - see/vidu http://mjr.towers.org.uk/email.html Somerset, England. Work/Laborejo: http://www.ttllp.co.uk/ IRC/Jabber/SIP: on request/peteble
Apologies for not actually getting past the "thinking about it" stage yet. I'm having problems with my Round Tuit. MJ Ray wrote:
It may be better for debian/rules to ignore the installer, TBH, which would help with the CPANisation. I'm not sure it's still worth the effort.
Yes I was thinking about ignoring the installer.pl in debian/rules, where we basically just have to copy stuff around. installer.pl asks some questions first (to find out install locations), and creates koha.conf using those locations as well as copying the files. We must do the coping at package build, and everthing in koha.conf is also set at package build time except the db details (name, host, user, password). So creating koha.conf with a very simple script at install time is no problem either. One question that is asked by the installer is the web template to use, default or NPL? I see from a quick glance that both templates appear to be installed on disk in my install? Is the template chosen by a datebase entry (or entries) as opposed to a different filesystem layout or symlinks etc? It would be good if the template selection was completely in the db/config files and didn't imply a different file layout, it will make it simpler to package.
These functions need to be split in two - actually moving files into place to be done during packaging, and /etc and database initialisation during install.
OK. I think there's a third step of entering the librarian's defaults, which could be done mostly after install from the web interface. I think we only ask a few librarian questions in the installer (MARC starter, branch and printer) and they'd be better left until later.
The MARC stuff worries me a bit because I don't understand it. I see traffic regarding upgrading (to rel_3?) saying perhaps "you'll have an easier upgrade if MARC was set up so... and your data was consistently thus..." Having some foreknowledge of what 3.0 will look like, can we encourage people in a certain direction so that a later upgrade to a 3.0 package will be easier? Can we ask debconf questions in such a way that they are easy to map to 3.0 so we can use the answers to suggest defaults in an upgrade? I have a feeling that there is quite a lot of questions which relate to db setup and this will be the greater part of the work of packaging. I think we should have a db setup script which can be run from postinst if the user wants, or can alternatively be run standalone. Ie, a debconf question in postinst which asks "Do you want to set up the database now, or later?" We don't necessarily want a dependancy on mysql-server, because some installations may have the db server on a different machine from where the koha package is installed. Even if the there were a dependency on mysql-server, the server may not be started when we are running postinstall. The separate db initialisation script also gives the user a way to "start again" with a fresh koha system if they make a mistake the first time around, without needing to remove the package and re-install. They can just drop the existing db (or rename it, or just create a new one under a different name) and re-run the db initialisation script. This can be documented in a readme with a note in a debconf message... The db setup script needs to create /etc/koha.conf if it doesn't exist, or tell the user to manually modify it with the correct db paramaters if it does. I think your idea of leaving what we can out of the install and doing it post install via the web interface is also a good one, once again we need to document this for people in README.Debian and/or other appropriate places.
[...] I'm available roughly 5pm - 12pm NZDT most days, or pretty much any time by arrangement. Let me know when would suit you.
I think 0730-0930 UTC (=~ 8.30-10.30pm NZDT?) would be best for me. I'll try to hop on over the next few days at that time.
Thanks,
I'll try to hop on IRC tomorrow. Alex
Meanwhile, Geoff Crompton has submitted an alioth project request. What do people think?
I'm happy to use alioth if it doesn't limit us. Of course, once the packages get into debian, we should use bugs.debian.org and packages.qa.debian.org as our first line.
My request for an alioth project was denied, my request didn't meet their guidelines (should have requested pkg-koha project instead of koha apparently). Raphael suggested we use the collab-maint project (1) of alioth for this though. That gets us an svn repostiory. We could still use this mailing list for discussions. It requires contributors to signup for a username-guest account on alioth to access the repository, and email Raphael to ask for access to the collab-maint project. alioth does have support for bzr, but then we'd need a separate project, not part of a collab-maint project. I haven't asked if we can use that. If people are really keen on using bzr, I can ask. (1) http://wiki.debian.org/AliothPackagingProject -- Geoff Crompton Debian System Administrator Strategic Data +61 3 9340 9000
Quoting alex@king.net.nz:
I'm interested in having a Koha package available in Debian. ...
It's a very good idea. -Lars ---------------------------------------------------------------- This mail sent through L-secure: http://www.l-secure.net/
participants (8)
-
Alex King -
alex@king.net.nz -
Geoff Crompton -
Jack -
Joshua Ferraro -
lars@rovaniemelainen.com -
MJ Ray -
Nathan Gray