Package: chicken
Version: 2.3-1
Severity: normal
Tags: patch

Chicken-setup installs extensions (eggs) to /usr/lib/chicken which might be
mounted as read-only.

http://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html#PURPOSE31

"/var is specified here in order to make it possible to mount /usr
read-only. Everything that once went into /usr that is written to during
system operation (as opposed to installation and software maintenance)
must be in /var."

I would recommend to move the repository to
/var/lib/chicken and wrote a patch which allows to change the repository
path by setting localstatedir (e.g. --localstatedir=/var).
(This patch is against chicken 2.41.)


Regards

-- 
Philipp Benner
--- chicken-2.41.orig/Makefile.am
+++ chicken-2.41/Makefile.am
@@ -58,8 +58,8 @@
 chicken_static_LDADD = chicken.o support.o easyffi.o compiler.o optimizer.o 
c-platform.o c-backend.o batch-driver.o libchicken.la $(MORE_STATIC_LIBS)
 chicken_static_LDFLAGS = -static $(LINKFLAGS)
 
-BASE_CPPFLAGS=-DC_STACK_GROWS_DOWNWARD=$(STACK_GROWS_DOWNWARD) 
-DC_INSTALL_LIB_HOME='"$(pkglibdir)/$(BINARY_VERSION)"' \
-  -DC_INSTALL_HOME='"$(pkgdatadir)"' -DC_USE_C_DEFAULTS
+BASE_CPPFLAGS=-DC_STACK_GROWS_DOWNWARD=$(STACK_GROWS_DOWNWARD) \
+  -DC_INSTALL_LIB_HOME='"$(localstatedir)/lib/chicken/$(BINARY_VERSION)"' 
-DC_INSTALL_HOME='"$(pkgdatadir)"' -DC_USE_C_DEFAULTS
 INCLUDES=$(BASE_CPPFLAGS) -DC_NO_PIC_NO_DLL
 
 library.lo: library.c chicken.h
@@ -123,7 +123,7 @@
        echo "# define C_INSTALL_HOME \"${pkgdatadir}\"" >>chicken-defaults.h; \
        echo "#endif" >> chicken-defaults.h; \
        echo "#ifndef C_INSTALL_LIB_HOME" >> chicken-defaults.h; \
-       echo "# define C_INSTALL_LIB_HOME \"${pkglibdir}/${BINARY_VERSION}\"" 
>>chicken-defaults.h; \
+       echo "# define C_INSTALL_LIB_HOME 
\"${localstatedir}/lib/chicken/${BINARY_VERSION}\"" >>chicken-defaults.h; \
        echo "#endif" >> chicken-defaults.h; \
        echo "#ifndef C_DEFAULT_TARGET_STACK_SIZE" >> chicken-defaults.h; \
        echo "# define C_DEFAULT_TARGET_STACK_SIZE ($${nursery})" 
>>chicken-defaults.h; \
--- chicken-2.41.orig/Makefile.in
+++ chicken-2.41/Makefile.in
@@ -200,8 +200,8 @@
 chicken_static_LDADD = chicken.o support.o easyffi.o compiler.o optimizer.o 
c-platform.o c-backend.o batch-driver.o libchicken.la $(MORE_STATIC_LIBS)
 chicken_static_LDFLAGS = -static $(LINKFLAGS)
 
-BASE_CPPFLAGS = -DC_STACK_GROWS_DOWNWARD=$(STACK_GROWS_DOWNWARD) 
-DC_INSTALL_LIB_HOME='"$(pkglibdir)/$(BINARY_VERSION)"' \
-  -DC_INSTALL_HOME='"$(pkgdatadir)"' -DC_USE_C_DEFAULTS
+BASE_CPPFLAGS = -DC_STACK_GROWS_DOWNWARD=$(STACK_GROWS_DOWNWARD) \
+  -DC_INSTALL_LIB_HOME='"$(localstatedir)/lib/chicken/$(BINARY_VERSION)"' 
-DC_INSTALL_HOME='"$(pkgdatadir)"' -DC_USE_C_DEFAULTS
 
 INCLUDES = $(BASE_CPPFLAGS) -DC_NO_PIC_NO_DLL
 
@@ -1599,7 +1599,7 @@
        echo "# define C_INSTALL_HOME \"${pkgdatadir}\"" >>chicken-defaults.h; \
        echo "#endif" >> chicken-defaults.h; \
        echo "#ifndef C_INSTALL_LIB_HOME" >> chicken-defaults.h; \
-       echo "# define C_INSTALL_LIB_HOME \"${pkglibdir}/${BINARY_VERSION}\"" 
>>chicken-defaults.h; \
+       echo "# define C_INSTALL_LIB_HOME 
\"${localstatedir}/lib/chicken/${BINARY_VERSION}\"" >>chicken-defaults.h; \
        echo "#endif" >> chicken-defaults.h; \
        echo "#ifndef C_DEFAULT_TARGET_STACK_SIZE" >> chicken-defaults.h; \
        echo "# define C_DEFAULT_TARGET_STACK_SIZE ($${nursery})" 
>>chicken-defaults.h; \

Attachment: signature.asc
Description: Digital signature

Reply via email to