I've finally uploaded pike 7.8 to unstable (despite the failure to dump dump.pike). The documentation handling will also have to wait. The set of meta packages is unchanged. Changes since 7.8.352-dfsg-1:
* Add trigger for dumping of Pike modules when pike7.8-core or any module package is installed. * Remove support for the unversioned local module and include directories (/usr/local/lib/pike/*) to avoid having to coordinate their creation and removal by multiple versions. * Drop apparently obsolete build-dep libgtkhtml2-dev. * Don't run update-alternatives --remove on upgrade. * Exclude Tools.PV, which requires GTK (not GTK2). * debian/rules, unbreak_cross_compilation.dpatch: Use the right gcc and pass --host=$(DEB_HOST_GNU_TYPE) to configure as necessary. Fix various bugs preventing cross compilation (Closes: #582242). Thanks to Marc Dirix. * Exclude modules GDK, Gnome, and GTKSupport, which also are for GTK+/Gnome 1.2, and update the package description of pike7.8-gtk to reflect the fact that it provides GTK+ 2.0 bindings. * Disable --with-relocatable-dumped-modules; it doesn't seem that we need it and it doesn't seem to work 100% properly. * no_dump_modules.dpatch (new): Patch install.pike not to dump modules at build time (thus no need to exclude master.pike.o in debian/rules). * Move AutoDoc and module-related modules and standalone tools to -dev and let -dev depend on -image. * module-layout.dpatch: Move misplaced parenthesis that caused the wrong local include directory to be added. * Build-depend on libmysqlclient-dev instead of libmysqlclient15-dev, which is now a virtual package provided by the former. * dumping_problems.dpatch (new): Patch from CVS fixing problems encoding the master object when dumping some modules. * cflags.dpatch (new): Make pike -x cflags print include_prefix as-is instead of stripping the last component. * Drop pike7.8-config; pike -x cflags and pike --dumpversion fills its functions. * Some changes in the meta package relationships.
- cflags.dpatch (new): Make pike -x cflags print include_prefix as-is instead of stripping the last component.
Hm, is this because the printed include path was actually wrong, or are you deliberately trying to create incomatibilities? The reason that the final component is stripped is that you use "#include <pike/stuff.h>" in the actual code, so "/pike" should not be included in the -I directive.
The modules that I've downloaded and looked at do not include "pike/" in their #includes. Is there an incompatibility between 7.6 and 7.8, or are there different rules for modules than for other code?
If you indeed are supposed to use "#include <pike/stuff.h>" in code, I need to add a directory component to /usr/include/pike7.8.
The modules that I've downloaded and looked at do not include "pike/" in their #includes. Is there an incompatibility between 7.6 and 7.8, or are there different rules for modules than for other code?
7.6 does not provide the "simplified" module build mechanism, so there are no 7.6 modules which use this. Frankly, I don't know of any 7.8 modules that do either, which ones did you find?
No, you're right; I didn't look at any modules that use the simplified mechanism. So the deal is that those that do use "#include <pike/foo.h>" whereas old style modules use "include <foo.h>"?
Well, you'll have to ask someone actually involved in the simplified mechanism for the details, but this is clearly the intention of the change by Agehall which removed the "pike" component.
IIRC, the old-style includes could include the wrong file in some instances since some names were conflicting.
Yes, it's a way to avoid errors due to pike includefiles with the same name as includefiles in other packages.
Three options then:
1. Install header files (etc.) in /usr/include/pike7.8/pike instead of /usr/include/pike7.8. The department of redundancy department may complain.
2. Install header files (etc.) in /usr/include/pike. This means that only one pike*-dev can be installed at any time, which makes it impossible to build module packages supporting multiple Pike versions.
3. Force Debian users to use #include <pike7.8/stuff.h>. Not good.
Hmm. As usual I forgot to list the patch in debian/patches/00list, so it's not actually applied. Still need to change that header installation location though.
On Fri, Jul 30, 2010 at 12:30:02PM +0000, Magnus Holmgren, Millnet/Lysator/Debian/Mensa @ Pike developers forum wrote:
I've finally uploaded pike 7.8 to unstable
and according to http://packages.qa.debian.org/p/pike7.8.html it is now in testing too.
debian 6.0 was frozen on the 6th: http://www.debian.org/News/2010/20100806 so it looks like pike slipped in just before the deadline. congratulations!
the next debian release will have an updated version of pike!!
greetings, martin.
pike-devel@lists.lysator.liu.se