From cf7d637ee9c6034152f9f789c8e65893f0295289 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 4 Jun 2009 19:51:01 +0200 Subject: first regressions found while runtime testing - fix add_rconf and quoting - update gpsd to latest upstream - do not use size parameter for cfgfs and tmpfs - disable some dangerous busybox options - fix some kernel module dependencies --- package/base-files/extra/etc/functions.sh | 2 +- package/busybox/config/Config.in | 196 +++++++++++++++--------------- package/busybox/config/init/Config.in | 21 ++-- package/cfgfs/src/fwcf.sh | 4 +- package/fping/Makefile | 13 +- package/freeradius-server/Makefile | 1 + package/gpsd/Makefile | 20 ++- package/gpsd/patches/patch-gpsd_h | 24 ---- package/gpsd/patches/patch-sirfflash_c | 12 -- package/mc/Makefile | 3 + package/wifidog/Makefile | 2 + 11 files changed, 134 insertions(+), 164 deletions(-) delete mode 100644 package/gpsd/patches/patch-gpsd_h delete mode 100644 package/gpsd/patches/patch-sirfflash_c (limited to 'package') diff --git a/package/base-files/extra/etc/functions.sh b/package/base-files/extra/etc/functions.sh index 4d225b882..6563c1d0e 100644 --- a/package/base-files/extra/etc/functions.sh +++ b/package/base-files/extra/etc/functions.sh @@ -55,7 +55,7 @@ add_service() { add_rcconf() { rcconf_exists ${2-$1} || { echo "adding service ${2-$1} to /etc/rc.conf" - printf '%s\t\t# %s\n' "${2:-$1}=${3:-NO}" "$1" \ + printf '%s="%s"\t\t# %s\n' "${2:-$1}" "${3:-NO}" "$1" \ >>$IPKG_INSTROOT/etc/rc.conf } } diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in index 91cf58e81..b41788be0 100644 --- a/package/busybox/config/Config.in +++ b/package/busybox/config/Config.in @@ -131,17 +131,17 @@ config BUSYBOX_FEATURE_DEVPTS /dev/ttyp will be used. To use this option, you should have devpts mounted. -config BUSYBOX_FEATURE_CLEAN_UP - bool "Clean up all memory before exiting (usually not needed)" - default n - help - As a size optimization, busybox normally exits without explicitly - freeing dynamically allocated memory or closing files. This saves - space since the OS will clean up for us, but it can confuse debuggers - like valgrind, which report tons of memory and resource leaks. - - Don't enable this unless you have a really good reason to clean - things up manually. +#config BUSYBOX_FEATURE_CLEAN_UP +# bool "Clean up all memory before exiting (usually not needed)" +# default n +# help +# As a size optimization, busybox normally exits without explicitly +# freeing dynamically allocated memory or closing files. This saves +# space since the OS will clean up for us, but it can confuse debuggers +# like valgrind, which report tons of memory and resource leaks. +# +# Don't enable this unless you have a really good reason to clean +# things up manually. config BUSYBOX_FEATURE_PIDFILE bool "Support writing pidfiles" @@ -167,47 +167,47 @@ config BUSYBOX_FEATURE_SUID crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su, traceroute, vlock. -config BUSYBOX_FEATURE_SUID_CONFIG - bool "Runtime SUID/SGID configuration via /etc/busybox.conf" - default n if FEATURE_SUID - depends on BUSYBOX_FEATURE_SUID - help - Allow the SUID / SGID state of an applet to be determined at runtime - by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) - The format of this file is as follows: - - = [Ssx-][Ssx-][x-] (|).(|) - - An example might help: - - [SUID] - su = ssx root.0 # applet su can be run by anyone and runs with - # euid=0/egid=0 - su = ssx # exactly the same - - mount = sx- root.disk # applet mount can be run by root and members - # of group disk and runs with euid=0 - - cp = --- # disable applet cp for everyone - - The file has to be owned by user root, group root and has to be - writeable only by root: - (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) - The busybox executable has to be owned by user root, group - root and has to be setuid root for this to work: - (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) - - Robert 'sandman' Griebl has more information here: - . +#config BUSYBOX_FEATURE_SUID_CONFIG +# bool "Runtime SUID/SGID configuration via /etc/busybox.conf" +# default n if FEATURE_SUID +# depends on BUSYBOX_FEATURE_SUID +# help +# Allow the SUID / SGID state of an applet to be determined at runtime +# by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) +# The format of this file is as follows: +# +# = [Ssx-][Ssx-][x-] (|).(|) +# +# An example might help: +# +# [SUID] +# su = ssx root.0 # applet su can be run by anyone and runs with +# # euid=0/egid=0 +# su = ssx # exactly the same +# +# mount = sx- root.disk # applet mount can be run by root and members +# # of group disk and runs with euid=0 +# +# cp = --- # disable applet cp for everyone +# +# The file has to be owned by user root, group root and has to be +# writeable only by root: +# (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) +# The busybox executable has to be owned by user root, group +# root and has to be setuid root for this to work: +# (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) +# +# Robert 'sandman' Griebl has more information here: +# . -config BUSYBOX_FEATURE_SUID_CONFIG_QUIET - bool "Suppress warning message if /etc/busybox.conf is not readable" - default y - depends on BUSYBOX_FEATURE_SUID_CONFIG - help - /etc/busybox.conf should be readable by the user needing the SUID, - check this option to avoid users to be notified about missing - permissions. +#config BUSYBOX_FEATURE_SUID_CONFIG_QUIET +# bool "Suppress warning message if /etc/busybox.conf is not readable" +# default y +# depends on BUSYBOX_FEATURE_SUID_CONFIG +# help +# /etc/busybox.conf should be readable by the user needing the SUID, +# check this option to avoid users to be notified about missing +# permissions. #config BUSYBOX_SELINUX # bool "Support NSA Security Enhanced Linux" @@ -229,29 +229,29 @@ config BUSYBOX_FEATURE_SUID_CONFIG_QUIET # # Most people will leave this set to 'N'. -config BUSYBOX_FEATURE_PREFER_APPLETS - bool "exec prefers applets" - default n - help - This is an experimental option which directs applets about to - call 'exec' to try and find an applicable busybox applet before - searching the PATH. This is typically done by exec'ing - /proc/self/exe. - This may affect shell, find -exec, xargs and similar applets. - They will use applets even if /bin/ -> busybox link - is missing (or is not a link to busybox). However, this causes - problems in chroot jails without mounted /proc and with ps/top - (command name can be shown as 'exe' for applets started this way). - -config BUSYBOX_BUSYBOX_EXEC_PATH - string "Path to BusyBox executable" - default "/proc/self/exe" - help - When Busybox applets need to run other busybox applets, BusyBox - sometimes needs to exec() itself. When the /proc filesystem is - mounted, /proc/self/exe always points to the currently running - executable. If you haven't got /proc, set this to wherever you - want to run BusyBox from. +#config BUSYBOX_FEATURE_PREFER_APPLETS +## bool "exec prefers applets" +# default n +# help +# This is an experimental option which directs applets about to +# call 'exec' to try and find an applicable busybox applet before +# searching the PATH. This is typically done by exec'ing +# /proc/self/exe. +# This may affect shell, find -exec, xargs and similar applets. +# They will use applets even if /bin/ -> busybox link +# is missing (or is not a link to busybox). However, this causes +# problems in chroot jails without mounted /proc and with ps/top +# (command name can be shown as 'exe' for applets started this way). + +#config BUSYBOX_BUSYBOX_EXEC_PATH +# string "Path to BusyBox executable" +# default "/proc/self/exe" +# help +# When Busybox applets need to run other busybox applets, BusyBox +# sometimes needs to exec() itself. When the /proc filesystem is +# mounted, /proc/self/exe always points to the currently running +# executable. If you haven't got /proc, set this to wherever you +# want to run BusyBox from. # These are auto-selected by other options @@ -426,16 +426,16 @@ config BUSYBOX_DEBUG Most people should answer N. -config BUSYBOX_DEBUG_PESSIMIZE - bool "Disable compiler optimizations" - default n - depends on BUSYBOX_DEBUG - help - The compiler's optimization of source code can eliminate and reorder - code, resulting in an executable that's hard to understand when - stepping through it with a debugger. This switches it off, resulting - in a much bigger executable that more closely matches the source - code. +#config BUSYBOX_DEBUG_PESSIMIZE +# bool "Disable compiler optimizations" +# default n +# depends on BUSYBOX_DEBUG +# help +# The compiler's optimization of source code can eliminate and reorder +# code, resulting in an executable that's hard to understand when +# stepping through it with a debugger. This switches it off, resulting +# in a much bigger executable that more closely matches the source +# code. # triggers problems on cris with __attribute__((packed)) #config BUSYBOX_WERROR @@ -488,14 +488,14 @@ config BUSYBOX_EFENCE endchoice -config BUSYBOX_INCLUDE_SUSv2 - bool "Enable obsolete features removed before SUSv3?" - default y - help - This option will enable backwards compatibility with SuSv2, - specifically, old-style numeric options ('command -1 ') - will be supported in head, tail, and fold. (Note: should - affect renice too.) +#config BUSYBOX_INCLUDE_SUSv2 +# bool "Enable obsolete features removed before SUSv3?" +# default y +# help +# This option will enable backwards compatibility with SuSv2, +# specifically, old-style numeric options ('command -1 ') +# will be supported in head, tail, and fold. (Note: should +# affect renice too.) ### config PARSE ### bool "Uniform config file parser debugging applet: parse" @@ -504,12 +504,12 @@ endmenu menu 'Installation Options' -config BUSYBOX_INSTALL_NO_USR - bool "Don't use /usr" - default n - help - Disable use of /usr. Don't activate this option if you don't know - that you really want this behaviour. +#config BUSYBOX_INSTALL_NO_USR +# bool "Don't use /usr" +# default n +# help +# Disable use of /usr. Don't activate this option if you don't know +# that you really want this behaviour. choice prompt "Applets links" diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in index 348509fb9..ddd49ea1b 100644 --- a/package/busybox/config/init/Config.in +++ b/package/busybox/config/init/Config.in @@ -75,16 +75,17 @@ config BUSYBOX_FEATURE_INIT_COREDUMPS core file sizes. If this option is disabled, processes will not generate any core files. -config BUSYBOX_FEATURE_INITRD - bool "Support running init from within an initrd (not initramfs)" - default n - depends on BUSYBOX_INIT - help - Legacy support for running init under the old-style initrd. Allows - the name linuxrc to act as init, and it doesn't assume init is PID 1. - - This does not apply to initramfs, which runs /init as PID 1 and - requires no special support. +# you should never need this, breaks allconfig images +#config BUSYBOX_FEATURE_INITRD +# bool "Support running init from within an initrd (not initramfs)" +# default n +# depends on BUSYBOX_INIT +# help +# Legacy support for running init under the old-style initrd. Allows +# the name linuxrc to act as init, and it doesn't assume init is PID 1. +# +# This does not apply to initramfs, which runs /init as PID 1 and +# requires no special support. config BUSYBOX_HALT bool "poweroff, halt, and reboot" diff --git a/package/cfgfs/src/fwcf.sh b/package/cfgfs/src/fwcf.sh index 890dcf216..6a97beb8a 100644 --- a/package/cfgfs/src/fwcf.sh +++ b/package/cfgfs/src/fwcf.sh @@ -146,7 +146,7 @@ if test $1 = setup; then mkdir /tmp/.cfgfs/root mount --bind /etc /tmp/.cfgfs/root mkdir /tmp/.cfgfs/temp - mount -t tmpfs -o size=960k cfgfs /tmp/.cfgfs/temp + mount -t tmpfs -o cfgfs /tmp/.cfgfs/temp (cd /tmp/.cfgfs/root; tar cf - .) | (cd /tmp/.cfgfs/temp; tar xpf -) unclean=0 if [[ $1 = -N ]]; then @@ -225,7 +225,7 @@ if test $1 = commit; then EOF [[ $1 = -f ]] || exit 7 fi - mount -t tmpfs -o size=960k swap /tmp/.cfgfs/temp + mount -t tmpfs -o swap /tmp/.cfgfs/temp (cd /etc; tar cf - .) | (cd /tmp/.cfgfs/temp; tar xpf -) cd /tmp/.cfgfs/temp find . -type f | grep -v -e '^./.cfgfs' -e '^./.rnd$' | sort | \ diff --git a/package/fping/Makefile b/package/fping/Makefile index 0e7127d50..a7842392f 100644 --- a/package/fping/Makefile +++ b/package/fping/Makefile @@ -21,19 +21,10 @@ $(eval $(call PKG_template,FPING,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG CONFIGURE_STYLE= gnu do-build: - ${MAKE} CC="${TARGET_CC}" CFLAGS="${TARGET_CFLAGS}" -C ${WRKBUILD} clean ${PKG_NAME} - mv ${WRKBUILD}/${PKG_NAME} ${WRKBUILD}/${PKG_NAME}4 -ifeq ($(ADK_IPV6),y) - ${MAKE} CC="${TARGET_CC}" CFLAGS="${TARGET_CFLAGS} -DIPV6=1" -C ${WRKBUILD} clean ${PKG_NAME} - mv ${WRKBUILD}/${PKG_NAME} ${WRKBUILD}/${PKG_NAME}6 - -endif + ${MAKE} CC="${TARGET_CC}" CFLAGS="${TARGET_CFLAGS}" -C ${WRKBUILD} ${PKG_NAME} do-install: ${INSTALL_DIR} ${IDIR_FPING}/usr/bin - ${CP} ${WRKBUILD}/${PKG_NAME}4 ${IDIR_FPING}/usr/bin/${PKG_NAME} -ifeq ($(ADK_IPV6),y) - ${CP} ${WRKBUILD}/${PKG_NAME}6 ${IDIR_FPING}/usr/bin/ -endif + ${CP} ${WRKBUILD}/${PKG_NAME} ${IDIR_FPING}/usr/bin/${PKG_NAME} include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/freeradius-server/Makefile b/package/freeradius-server/Makefile index 7071d2a49..43dd25bed 100644 --- a/package/freeradius-server/Makefile +++ b/package/freeradius-server/Makefile @@ -118,6 +118,7 @@ CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTIONS} \ --without-rlm_perl \ --without-rlm_python \ --without-rlm_radutmp \ + --without-rlm_ruby \ --without-rlm_smb \ --without-rlm_sqlcounter \ --without-rlm_sql_db2 \ diff --git a/package/gpsd/Makefile b/package/gpsd/Makefile index 42d75ee63..506943809 100644 --- a/package/gpsd/Makefile +++ b/package/gpsd/Makefile @@ -4,9 +4,9 @@ include ${TOPDIR}/rules.mk PKG_NAME:= gpsd -PKG_VERSION:= 2.37 +PKG_VERSION:= 2.39 PKG_RELEASE:= 1 -PKG_MD5SUM:= 6c96cc0b2df0279cb7baac1ebc5881d3 +PKG_MD5SUM:= 3db437196a6840c252fca99b6c19d4d0 PKG_DESCR:= An interface daemon for GPS receivers PKG_SECTION:= net PKG_DEPENDS:= libpthread @@ -19,12 +19,16 @@ include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,GPSD,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) $(eval $(call PKG_template,GPSD_CLIENTS,gpsd-clients,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_1},${PKG_SECTION})) -CONFIGURE_STYLE= gnu +CONFIGURE_STYLE:= gnu +CONFIGURE_ENV+= EGREP="grep -E" \ + CPP="$(TARGET_CC) -E" \ + ac_cv_func_strlcpy=no \ + ac_cv_func_strlcat=no +# --disable-python breaks configure script CONFIGURE_ARGS+= --without-x \ - --disable-python + --disable-dbus BUILD_STYLE= auto INSTALL_STYLE= auto -XAKE_FLAGS= CXXLINK="\$$(LINK)" ifeq ($(ADK_TARGET_LIB_UCLIBCXX),y) TCXXFLAGS+= -fno-builtin -fno-rtti -nostdinc++ @@ -33,11 +37,15 @@ else TLDFLAGS+= -shared endif +post-extract: + @find ${WRKBUILD} -name *.rej -delete + post-install: ${INSTALL_DIR} ${IDIR_GPSD}/usr/lib ${IDIR_GPSD}/usr/sbin ${CP} ${WRKINST}/usr/lib/libgps.so.* ${IDIR_GPSD}/usr/lib ${CP} ${WRKINST}/usr/sbin/gpsd ${IDIR_GPSD}/usr/sbin ${INSTALL_DIR} ${IDIR_GPSD_CLIENTS}/usr/bin - ${CP} ${WRKINST}/usr/bin/{cgps,cgpxlogger} ${IDIR_GPSD_CLIENTS}/ + ${CP} ${WRKINST}/usr/bin/{cgps,gpxlogger} \ + ${IDIR_GPSD_CLIENTS}/usr/bin include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/gpsd/patches/patch-gpsd_h b/package/gpsd/patches/patch-gpsd_h deleted file mode 100644 index 50c8db101..000000000 --- a/package/gpsd/patches/patch-gpsd_h +++ /dev/null @@ -1,24 +0,0 @@ -$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ ---- gpsd-2.37.orig/gpsd.h 2008-02-17 18:47:00.000000000 +0100 -+++ gpsd-2.37/gpsd.h 2008-10-09 14:08:46.000000000 +0200 -@@ -22,16 +22,16 @@ - /* #undef DBUS_ENABLE */ - #define EARTHMATE_ENABLE 1 - #define EVERMORE_ENABLE 1 --/* #undef FV18_ENABLE */ -+#define FV18_ENABLE 1 - /* #undef GARMINTXT_ENABLE */ - #define GARMIN_ENABLE 1 - #define GPSCLOCK_ENABLE 1 - #define ITRAX_ENABLE 1 - #define NAVCOM_ENABLE 1 - #define NMEA_ENABLE 1 --/* #undef NTPSHM_ENABLE */ --/* #undef NTRIP_ENABLE */ --/* #undef PPS_ENABLE */ -+#define NTPSHM_ENABLE 1 -+#define NTRIP_ENABLE 1 -+#define PPS_ENABLE 1 - #define RTCM104_ENABLE 1 - #define SIRF_ENABLE 1 - /* #undef SQUELCH_ENABLE */ diff --git a/package/gpsd/patches/patch-sirfflash_c b/package/gpsd/patches/patch-sirfflash_c deleted file mode 100644 index 3664b374f..000000000 --- a/package/gpsd/patches/patch-sirfflash_c +++ /dev/null @@ -1,12 +0,0 @@ -$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ ---- gpsd-2.37.orig/sirfflash.c 2007-10-12 15:44:48.000000000 +0200 -+++ gpsd-2.37/sirfflash.c 2008-10-09 14:17:23.000000000 +0200 -@@ -166,7 +166,7 @@ sirfSetProto(int pfd, struct termios *te - - sirf[7] = sirf[6] = (unsigned char)proto; - /*@i@*/i = htonl(speed); /* borrow "i" to put speed into proper byte order */ -- /*@i@*/bcopy(&i, sirf+8, 4); -+ /*@i@*/memcpy(sirf+8, &i, 4); - - /* send at whatever baud we're currently using */ - (void)sirf_write(pfd, sirf); diff --git a/package/mc/Makefile b/package/mc/Makefile index 10ed0320a..056ff02b6 100644 --- a/package/mc/Makefile +++ b/package/mc/Makefile @@ -22,6 +22,7 @@ CONFIGURE_ARGS+= --disable-charset \ --disable-background \ --disable-gcc-warnings \ --disable-glibtest \ + --disable-netcode \ --without-libiconv-prefix \ --without-x \ --with-vfs \ @@ -34,6 +35,8 @@ CONFIGURE_ARGS+= --disable-charset \ --with-screen=ncurses \ --with-edit CONFIGURE_ENV+= mc_cv_have_zipinfo=yes \ + ac_cv_lib_nsl_t_accept=no \ + ac_cv_lib_nsl_gethostbyname=no \ am_cv_func_iconv=no BUILD_STYLE= auto INSTALL_STYLE= auto diff --git a/package/wifidog/Makefile b/package/wifidog/Makefile index 1f318704f..3f179810b 100644 --- a/package/wifidog/Makefile +++ b/package/wifidog/Makefile @@ -10,6 +10,7 @@ PKG_MD5SUM:= abe5f7123179a0f08c493ce59fb3cb31 PKG_DESCR:= a complete and embeddable captive portal PKG_SECTION:= net PKG_DEPENDS:= iptables +PKG_URL:= http://dev.wifidog.org PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=${PKG_NAME}/} include ${TOPDIR}/mk/package.mk @@ -18,6 +19,7 @@ $(eval $(call PKG_template,WIFIDOG,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${P CONFIGURE_STYLE:= gnu CONFIGURE_ENV+= ac_cv_func_memcmp_working=yes \ + ac_cv_lib_nsl_main=no \ ac_cv_func_setvbuf_reversed=no BUILD_STYLE+= auto INSTALL_STYLE:= auto -- cgit v1.2.3