Re: [oi-dev] Feature 1768 - add dovecot to oi-build
* Colin Ellis panamaya...@gmail.com [2011-11-20 12:35]: hopefully this is everything https://bitbucket.org/cellis_oidev/oi-build/changeset/856e6772091a Thanks, that looks good. As a minor nitpick, I think the category System/Services might be a bit better (mostly for the lack of more fitting alternatives) than Web Services/Communications since dovecot is not a WWW service. The underlying problem is of course that the org.opensolaris.category.2008 namespace is utterly incomplete and arbitrary. -- Guido Berhoerster ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Feature 1768 - add dovecot to oi-build
On Sun, Nov 20, 2011 at 11:34:53AM +, Colin Ellis wrote: hopefully this is everything https://bitbucket.org/cellis_oidev/oi-build/changeset/856e6772091a LGTM On Sat, Nov 19, 2011 at 10:36 PM, Alasdair Lumsden alasdai...@gmail.comwrote: Forgot to mention, your .p5m files need the opensolaris package classifications being filled in. If you're not sure what to use, just shout and we can collectively think up an answer. On 11/19/11 10:00 PM, Colin Ellis wrote: https://bitbucket.org/cellis_**oidev/oi-build/changeset/**d7b944645d37https://bitbucket.org/cellis_oidev/oi-build/changeset/d7b944645d37 On Tue, Nov 15, 2011 at 12:43 AM, Josef 'Jeff' Sipek jef...@josefsipek.net mailto:jef...@josefsipek.net** wrote: On Sat, Nov 12, 2011 at 11:17:10PM +, Colin Ellis wrote: bitbucket here: https://bitbucket.org/cellis_**oidev/oi-build/changeset/** d7c2addf18b7https://bitbucket.org/cellis_oidev/oi-build/changeset/d7c2addf18b7 Awesome, this one was on my todo list. Less work for me :) 1) no need to set --prefix --sbindir yourself 2) $(ETCDIR) instead of /etc 3) did the `gmake publish` not complain about the missing info.classification? 4) Do we really need to ship all those .a and .la files? Solaris likes shared libs a lot - and handles them pretty well too. 5) Do the files in usr/share/doc have the doc facet? (They should; you can check the published manifest.) 6) Is there an SMF manifest? Thanks! Jeff. -- All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer. — IBM Manual, 1925 __**_ oi-dev mailing list oi-dev@openindiana.org mailto:oi-dev@openindiana.org** http://openindiana.org/**mailman/listinfo/oi-devhttp://openindiana.org/mailman/listinfo/oi-dev __**_ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/**mailman/listinfo/oi-devhttp://openindiana.org/mailman/listinfo/oi-dev __**_ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/**mailman/listinfo/oi-devhttp://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev -- Once you have their hardware. Never give it back. (The First Rule of Hardware Acquisition) ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Feature 1768 - add dovecot to oi-build
hopefully this is everything https://bitbucket.org/cellis_oidev/oi-build/changeset/856e6772091a On Sat, Nov 19, 2011 at 10:36 PM, Alasdair Lumsden alasdai...@gmail.comwrote: Forgot to mention, your .p5m files need the opensolaris package classifications being filled in. If you're not sure what to use, just shout and we can collectively think up an answer. On 11/19/11 10:00 PM, Colin Ellis wrote: https://bitbucket.org/cellis_**oidev/oi-build/changeset/**d7b944645d37https://bitbucket.org/cellis_oidev/oi-build/changeset/d7b944645d37 On Tue, Nov 15, 2011 at 12:43 AM, Josef 'Jeff' Sipek jef...@josefsipek.net mailto:jef...@josefsipek.net** wrote: On Sat, Nov 12, 2011 at 11:17:10PM +, Colin Ellis wrote: bitbucket here: https://bitbucket.org/cellis_**oidev/oi-build/changeset/** d7c2addf18b7https://bitbucket.org/cellis_oidev/oi-build/changeset/d7c2addf18b7 Awesome, this one was on my todo list. Less work for me :) 1) no need to set --prefix --sbindir yourself 2) $(ETCDIR) instead of /etc 3) did the `gmake publish` not complain about the missing info.classification? 4) Do we really need to ship all those .a and .la files? Solaris likes shared libs a lot - and handles them pretty well too. 5) Do the files in usr/share/doc have the doc facet? (They should; you can check the published manifest.) 6) Is there an SMF manifest? Thanks! Jeff. -- All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer. — IBM Manual, 1925 __**_ oi-dev mailing list oi-dev@openindiana.org mailto:oi-dev@openindiana.org** http://openindiana.org/**mailman/listinfo/oi-devhttp://openindiana.org/mailman/listinfo/oi-dev __**_ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/**mailman/listinfo/oi-devhttp://openindiana.org/mailman/listinfo/oi-dev __**_ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/**mailman/listinfo/oi-devhttp://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Feature 1768 - add dovecot to oi-build
https://bitbucket.org/cellis_oidev/oi-build/changeset/d7b944645d37 On Tue, Nov 15, 2011 at 12:43 AM, Josef 'Jeff' Sipek jef...@josefsipek.netwrote: On Sat, Nov 12, 2011 at 11:17:10PM +, Colin Ellis wrote: bitbucket here: https://bitbucket.org/cellis_oidev/oi-build/changeset/d7c2addf18b7 Awesome, this one was on my todo list. Less work for me :) 1) no need to set --prefix --sbindir yourself 2) $(ETCDIR) instead of /etc 3) did the `gmake publish` not complain about the missing info.classification? 4) Do we really need to ship all those .a and .la files? Solaris likes shared libs a lot - and handles them pretty well too. 5) Do the files in usr/share/doc have the doc facet? (They should; you can check the published manifest.) 6) Is there an SMF manifest? Thanks! Jeff. -- All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer. — IBM Manual, 1925 ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Feature 1768 - add dovecot to oi-build
Hi Colin, On 11/19/11 10:00 PM, Colin Ellis wrote: https://bitbucket.org/cellis_oidev/oi-build/changeset/d7b944645d37 Great stuff! You're going to hate me though... I have more work for you! :-D If you don't have time or would prefer me to do it just say and I'll do it. In the Makefile, you've put multiple flags on the same configure line. Would you mind splitting them out so it's one configuration option per CONFIGURE_OPTION ? I tend to group into clusters, so you'd have: CONFIGURE_OPTIONS += --enable-shared CONFIGURE_OPTIONS += --disable-static CONFIGURE_OPTIONS += --enable-header-install CONFIGURE_OPTIONS += --sysconfdir=$(ETCDIR) CONFIGURE_OPTIONS += --localstatedir=/var CONFIGURE_OPTIONS += --with-rundir=/var/run/$(COMPONENT_NAME) CONFIGURE_OPTIONS += --with-solr CONFIGURE_OPTIONS += --with-gssapi CONFIGURE_OPTIONS += --with-sqlite CONFIGURE_OPTIONS += --with-mysql CONFIGURE_OPTIONS += --with-pgsql CONFIGURE_OPTIONS += --with-ldap=plugin CONFIGURE_OPTIONS += --with-sql=plugin I was surprised to see /var hardcoded, thinking it would be in shared-macros.mk, but it appears it's missing! Do any other oi-builders think we should add a VARDIR= macro to shared-macros.mk? You should change /usr/lib to $(USRLIBDIR) and /usr to $(USRDIR) - this includes inside the LDFLAGS definitions. I'd also recommend refactoring the versioning, to: COMPONENT_MAJOR_VER= 2.0 COMPONENT_MINOR_VER= 15 COMPONENT_VERSION= $(COMPONENT_MAJOR_VER).$(COMPONENT_MINOR_VER) So that you can have: COMPONENT_ARCHIVE_URL= http://www.dovecot.org/releases/$(COMPONENT_MAJOR_VER)/$(COMPONENT_ARCHIVE) (Perhaps I'm being too anal!) For the SMF service, I'd recommend ditching the start method script and do the start/stop stuff in the manifest itself. I have no idea why so many services have one of these when they're often completely unnecessary. The if [ -f /etc/dovecot/dovecot.conf ] check can be turned into an SMF dependency, a la: dependency name='configuration-file' grouping='require_all' restart_on='refresh' type='path' service_fmri value='file://localhost/etc/dovecot/dovecot.conf' / /dependency (I think that's correct - I'm not 100% sure on the restart_on) For the start method, you can just directly have /usr/sbin/dovecot, for the refresh method you can use the lovely SMF macro, :kill -HUP, and for stop you can use :kill I'd also recommend changing enabled='true' to enabled='false' so it doesn't get automatically started when dovecot is installed. You'll also want to add the Illumos CDDL header to the manifest file, along with your own copyright line. You can ditch the ident GPG line. You also committed the removal of components/gcc46/gcc.p5m in that commit which you probably didn't want to do! Not an issue though we can work around it when we commit this to the main repo. Last nitpick is the .la files are still there - I'd recommend dropping these by adding the following transform near the top: transform file path=.+/lib/.+\.la - drop (This is better than removing them manually - it makes maintaining the .p5m file easier as someone else can do make sample-manifest and diff them). Apart from these cosmetic changes, it's looking good! Great work Colin and thanks for your hard work :-) Looking forward to doing the full commit. Cheers, Alasdair On Tue, Nov 15, 2011 at 12:43 AM, Josef 'Jeff' Sipek jef...@josefsipek.net mailto:jef...@josefsipek.net wrote: On Sat, Nov 12, 2011 at 11:17:10PM +, Colin Ellis wrote: bitbucket here: https://bitbucket.org/cellis_oidev/oi-build/changeset/d7c2addf18b7 Awesome, this one was on my todo list. Less work for me :) 1) no need to set --prefix --sbindir yourself 2) $(ETCDIR) instead of /etc 3) did the `gmake publish` not complain about the missing info.classification? 4) Do we really need to ship all those .a and .la files? Solaris likes shared libs a lot - and handles them pretty well too. 5) Do the files in usr/share/doc have the doc facet? (They should; you can check the published manifest.) 6) Is there an SMF manifest? Thanks! Jeff. -- All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer. — IBM Manual, 1925 ___ oi-dev mailing list oi-dev@openindiana.org mailto:oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org
Re: [oi-dev] Feature 1768 - add dovecot to oi-build
Forgot to mention, your .p5m files need the opensolaris package classifications being filled in. If you're not sure what to use, just shout and we can collectively think up an answer. On 11/19/11 10:00 PM, Colin Ellis wrote: https://bitbucket.org/cellis_oidev/oi-build/changeset/d7b944645d37 On Tue, Nov 15, 2011 at 12:43 AM, Josef 'Jeff' Sipek jef...@josefsipek.net mailto:jef...@josefsipek.net wrote: On Sat, Nov 12, 2011 at 11:17:10PM +, Colin Ellis wrote: bitbucket here: https://bitbucket.org/cellis_oidev/oi-build/changeset/d7c2addf18b7 Awesome, this one was on my todo list. Less work for me :) 1) no need to set --prefix --sbindir yourself 2) $(ETCDIR) instead of /etc 3) did the `gmake publish` not complain about the missing info.classification? 4) Do we really need to ship all those .a and .la files? Solaris likes shared libs a lot - and handles them pretty well too. 5) Do the files in usr/share/doc have the doc facet? (They should; you can check the published manifest.) 6) Is there an SMF manifest? Thanks! Jeff. -- All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer. — IBM Manual, 1925 ___ oi-dev mailing list oi-dev@openindiana.org mailto:oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Feature 1768 - add dovecot to oi-build
* Josef 'Jeff' Sipek jef...@josefsipek.net [2011-11-15 01:43]: On Sat, Nov 12, 2011 at 11:17:10PM +, Colin Ellis wrote: bitbucket here: https://bitbucket.org/cellis_oidev/oi-build/changeset/d7c2addf18b7 Awesome, this one was on my todo list. Less work for me :) 1) no need to set --prefix --sbindir yourself 2) $(ETCDIR) instead of /etc 3) did the `gmake publish` not complain about the missing info.classification? 4) Do we really need to ship all those .a and .la files? Solaris likes shared libs a lot - and handles them pretty well too. The libtool files should definetly be removed. 5) Do the files in usr/share/doc have the doc facet? (They should; you can check the published manifest.) 6) Is there an SMF manifest? Please check SFE when adding new packages to oi-build, while I I agree that dovecot should be added to oi-build you could have learned some things from the existing package, e.g. you need to add a user to run the daemon, you need to pass --with-rundir or it will default to /usr/var, and it also already has a SMF manifest. You also need to define --libexecdir Solaris does not use /usr/libexec. -- Guido Berhoerster ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Feature 1768 - add dovecot to oi-build
* Guido Berhoerster g...@openindiana.org [2011-11-15 10:55]: * Josef 'Jeff' Sipek jef...@josefsipek.net [2011-11-15 01:43]: On Sat, Nov 12, 2011 at 11:17:10PM +, Colin Ellis wrote: bitbucket here: https://bitbucket.org/cellis_oidev/oi-build/changeset/d7c2addf18b7 Awesome, this one was on my todo list. Less work for me :) 1) no need to set --prefix --sbindir yourself 2) $(ETCDIR) instead of /etc 3) did the `gmake publish` not complain about the missing info.classification? 4) Do we really need to ship all those .a and .la files? Solaris likes shared libs a lot - and handles them pretty well too. The libtool files should definetly be removed. You can use --disable-static to get rid of the static libraries. 5) Do the files in usr/share/doc have the doc facet? (They should; you can check the published manifest.) 6) Is there an SMF manifest? Please check SFE when adding new packages to oi-build, while I I agree that dovecot should be added to oi-build you could have learned some things from the existing package, e.g. you need to add a user to run the daemon, you need to pass --with-rundir or it will default to /usr/var, and it also already has a SMF manifest. You also need to define --libexecdir Solaris does not use /usr/libexec. One more thing, I think it makes sense to enable SQL, GSSAPI, and LDAP authentication support as plugins and add SQlite3, MySQL and PostgreSQL drivers since these are all delivered by OI. Install library/openldap, database/mysql-51/library, database/postgres-82/developer as prerequisites and add --with-ldap=plugin, --with-sql=plugin, --with-gssapi, then --with-sqlite, --with-mysql, --with-pgsql. The OpenLDAP, MySQL, PostgreSQL plugins files should then probably go into three separate subpackages to prevent dependencies of the main package on them, should be LIBEXECDIR/dovecot/auth/libauthdb_ldap.so LIBEXECDIR/dovecot/auth/libdriver_mysql.so LIBEXECDIR/dovecot/dict/libdriver_mysql.so LIBEXECDIR/dovecot/libdriver_mysql.so LIBEXECDIR/dovecot/auth/libdriver_pgsql.so LIBEXECDIR/dovecot/dict/libdriver_pgsql.so LIBEXECDIR/dovecot/libdriver_pgsql.so respectively. -- Guido Berhoerster ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Feature 1768 - add dovecot to oi-build
On Sat, Nov 12, 2011 at 11:17:10PM +, Colin Ellis wrote: bitbucket here: https://bitbucket.org/cellis_oidev/oi-build/changeset/d7c2addf18b7 Awesome, this one was on my todo list. Less work for me :) 1) no need to set --prefix --sbindir yourself 2) $(ETCDIR) instead of /etc 3) did the `gmake publish` not complain about the missing info.classification? 4) Do we really need to ship all those .a and .la files? Solaris likes shared libs a lot - and handles them pretty well too. 5) Do the files in usr/share/doc have the doc facet? (They should; you can check the published manifest.) 6) Is there an SMF manifest? Thanks! Jeff. -- All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer. — IBM Manual, 1925 ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev