The embedding of source code for libraries in the Squeak VM sources is historical, probably to spare builders the hassle of hunting down the right sources. On Linux it doesn't really make sense to do that, agreed.
In general it should work fine to delete the embedded library sources and adapting the make files. I'm not familiar enough with cmake to say how exactly, though. However, adding the acinclude.m4 will not work since that is autoconf, not cmake. HowToBuildFromSource hasn't been updated for cmake, yet, unfortunately.
I am cc'ing upstream, will forward any insights that might help you. Thanks for doing this!
- Bert -
On 29.02.2012, at 10:28, Pierre Boutillier wrote:
Hi, This is the second nmu that is rejected for this reason.
I start my fight by pcre. This is my first look in the source code so I am very inefficient. The copy of the lib is in Cross/plugins/RePlugin/. (by the way, both pcre and libjpeg seems to be in plugins, we could just --without them at configure in the very frst time.)
I did not see in the archive of upstream vm-dev list any thread about why pcre source are copied and not linked... So I try naively to call the lib and erase the files by editing rePlugin.h in order to ask for <pcre.h> and add in unix/plugins/RePlugin/ an acinclude.m4 file with AC_PLUGIN_CHECK_LIB(libpcre,pcre_malloc) as I understand from unix/doc/HowToBuildFromSource.* file but this file seems outdated because there is no mention of cmake in it and configure do not look at libpcre.
Does someone have already tried what I'm doing and can tell us why it fails ? Or do you know how I can make it works ?
All the best, Pierre
Le 24 févr. 12 à 04:03, Debian FTP Masters a écrit :
Reject Reasons: squeak-vm: lintian output: 'embedded-library usr/lib/squeak/4.4.7-2357/squeakvm: pcre3', automatically rejected package. squeak-vm: If you have a good reason, you may override this lintian tag. squeak-vm: lintian output: 'embedded-library usr/lib/squeak/4.4.7-2357/squeakvm: libjpeg', automatically rejected package. squeak-vm: If you have a good reason, you may override this lintian tag.
===
Please feel free to respond to this email if you don't understand why your files were rejected, or if you upload new files which address our concerns.
Pkg-squeak-devel mailing list Pkg-squeak-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-squeak-devel
Pkg-squeak-devel mailing list Pkg-squeak-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-squeak-devel
On Sat, Mar 03, 2012 at 02:19:04PM +0100, Bert Freudenberg wrote:
The embedding of source code for libraries in the Squeak VM sources is historical, probably to spare builders the hassle of hunting down the right sources. On Linux it doesn't really make sense to do that, agreed.
Yes, that's right. The files in the Cross directory are used for all operatins systems (Windows, RiscOS, Mac, various unices), so in some cases we have library sources in Cross for the benefit of operating system that may not provide them otherwise.
I cannot check right now, but I suspect that if we delete the offending files or directories from the source tarball (not from the actual platforms/Cross in Subversion), then fix up the cmake procedures, then we might be able to provide a solution to this issue for the Linux distro maintainers.
In general it should work fine to delete the embedded library sources and adapting the make files. I'm not familiar enough with cmake to say how exactly, though. However, adding the acinclude.m4 will not work since that is autoconf, not cmake. HowToBuildFromSource hasn't been updated for cmake, yet, unfortunately.
Although the HowToBuildFromSource is in need of an update, there is documentation for the CMake build process in the file unix/README.CMake. The new configure script (replacing the original unix/config/configure), is unix/cmake/configure. This is just a shell script that sets up some initial parameters, then calls cmake to set up the build. Running "unix/cmake/configure --help" is enough to get started. An important note for Linux distros is to build the VM as a 32 bit executable (i.e. pass "--CFLAGS='-m32 -O2' " as a parameter to unix/config/configure) because some parts of the VM are still 32-bit only.
In general, the unix source tree contains files named config.cmake and build.cmake that take the place of the acinclude.m4 and Makefile.inc files that were previously used. Many build issues can be addressed by modifying the config.cmake or build.cmake for the portion of the source tree that has a problem.
It would probably be good at this point to clean out the old autoconf files and update the documentation, although I should note that there is an important branch of the VM (the high performance Cog VM) that has a build process based on the old autoconf procedures, so there may be value in keeping the old files around for reference.
Dave
I am cc'ing upstream, will forward any insights that might help you. Thanks for doing this!
- Bert -
On 29.02.2012, at 10:28, Pierre Boutillier wrote:
Hi, This is the second nmu that is rejected for this reason.
I start my fight by pcre. This is my first look in the source code so I am very inefficient. The copy of the lib is in Cross/plugins/RePlugin/. (by the way, both pcre and libjpeg seems to be in plugins, we could just --without them at configure in the very frst time.)
I did not see in the archive of upstream vm-dev list any thread about why pcre source are copied and not linked... So I try naively to call the lib and erase the files by editing rePlugin.h in order to ask for <pcre.h> and add in unix/plugins/RePlugin/ an acinclude.m4 file with AC_PLUGIN_CHECK_LIB(libpcre,pcre_malloc) as I understand from unix/doc/HowToBuildFromSource.* file but this file seems outdated because there is no mention of cmake in it and configure do not look at libpcre.
Does someone have already tried what I'm doing and can tell us why it fails ? Or do you know how I can make it works ?
All the best, Pierre
Le 24 f?vr. 12 ? 04:03, Debian FTP Masters a ?crit :
Reject Reasons: squeak-vm: lintian output: 'embedded-library usr/lib/squeak/4.4.7-2357/squeakvm: pcre3', automatically rejected package. squeak-vm: If you have a good reason, you may override this lintian tag. squeak-vm: lintian output: 'embedded-library usr/lib/squeak/4.4.7-2357/squeakvm: libjpeg', automatically rejected package. squeak-vm: If you have a good reason, you may override this lintian tag.
===
Please feel free to respond to this email if you don't understand why your files were rejected, or if you upload new files which address our concerns.
Pkg-squeak-devel mailing list Pkg-squeak-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-squeak-devel
Pkg-squeak-devel mailing list Pkg-squeak-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-squeak-devel
vm-dev@lists.squeakfoundation.org