Skip to contentSkip to conversation

Remove remaining deprecated packages for 2014.02

PATCH Superseded Thomas De Schampheleire 4 participants 21 messages Feb 5, 2014 – Feb 6, 2014 Kbuild

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Remove remaining deprecated packages for 2014.02

This patch series removes all deprecated packages/features that we are allowed to remove for 2014.02 (deprecated since 2013.02 or earlier).

---
 Config.in                                              |  18 --
 Config.in.legacy                                       |  86 ++++++++++++++
 Makefile                                               |   2 -
 package/Config.in                                      |   4 -
 package/Makefile.in                                    |   2 -
 package/autoconf/Config.in                             |  10 -
 package/autoconf/autoconf.mk                           |   6 -
 package/automake/Config.in                             |  11 -
 package/automake/automake.mk                           |   3 -
 package/avahi/avahi.mk                                 |   2 +-
 package/berkeleydb/berkeleydb.mk                       |   4 -
 package/ccache/Config.in                               |  12 -
 package/ccache/ccache.mk                               |   1 -
 package/enlightenment/enlightenment.mk                 |   2 -
 package/ffmpeg/ffmpeg.mk                               |   2 +-
 package/gdb/Config.in.host                             |  12 -
 package/hdparm/hdparm.mk                               |   7 -
 package/kmod/kmod.mk                                   |   5 +-
 package/libbsd/libbsd.mk                               |   6 -
 package/linux-headers/Config.in.host                   |  15 --
 package/logsurfer/logsurfer.mk                         |  13 --
 package/ncurses/ncurses.mk                             |   2 +-
 package/netsnmp/netsnmp.mk                             |   4 +-
 package/opencv/opencv.mk                               |   4 +-
 package/perl/perl.mk                                   |   4 -
 package/pppd/pppd.mk                                   |  10 -
 package/pulseaudio/pulseaudio.mk                       |   2 +-
 package/python-pygame/python-pygame.mk                 |   2 -
 package/samba/samba.mk                                 |   2 -
 package/udisks/udisks.mk                               |   3 +-
 package/vala/vala.mk                                   |  10 +-
 package/vim/vim.mk                                     |   2 -
 package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.mk |   2 +-
 package/x11r7/xproto_xextproto/xproto_xextproto.mk     |   2 +-
 package/xstroke/Config.in                              |  14 --
 package/xstroke/xstroke-fix-link-issues.patch          |  35 -----
 package/xstroke/xstroke.mk                             |  13 --
 37 files changed, 98 insertions(+), 236 deletions(-)
#1 lore raw

PATCH 1/1 xstroke: remove deprecated package

xstroke has been deprecated since 2013.02 and thus can be removed in 2014.02.

---
 Config.in.legacy                              |   7 ++++
 package/Config.in                             |   1 -
 package/xstroke/Config.in                     |  14 ---------
 package/xstroke/xstroke-fix-link-issues.patch |  35 -----------------------
 package/xstroke/xstroke.mk                    |  13 --------
 5 files changed, 7 insertions(+), 63 deletions(-)
Config.in.legacy +7 -0
@@ -101,6 +101,13 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2014.02"
 
+config BR2_PACKAGE_XSTROKE
+	bool "xstroke has been removed"
+	select BR2_LEGACY
+	help
+	  The 'xstroke' package has been removed since it has been
+	  deprecated for more than four buildroot releases.
+
 config BR2_PACKAGE_LZMA
 	bool "lzma target package has been removed"
 	select BR2_LEGACY
package/Config.in +0 -1
@@ -235,7 +235,6 @@ source "package/torsmo/Config.in"
 source "package/wmctrl/Config.in"
 source "package/x11vnc/Config.in"
 source "package/xscreensaver/Config.in"
-source "package/xstroke/Config.in"
 source "package/xterm/Config.in"
 source "package/xvkbd/Config.in"
 
package/xstroke/Config.in deleted +0 -14
deleted file mode 100644
@@ -1,14 +0,0 @@
-config BR2_PACKAGE_XSTROKE
-	bool "xstroke"
-	depends on BR2_PACKAGE_XORG7
-	# dead upstream, probably not many users
-	depends on BR2_DEPRECATED_SINCE_2013_02
-	select BR2_PACKAGE_XLIB_LIBXFT
-	select BR2_PACKAGE_XLIB_LIBXTST
-	select BR2_PACKAGE_XLIB_LIBXPM
-	select BR2_PACKAGE_XLIB_LIBXRENDER
-	select BR2_PACKAGE_XLIB_LIBXEXT
-	help
-	  Handwriting recognition for X
-
-	  http://mirror.egtvedt.no/avr32linux.org/twiki/pub/Main/XStroke
package/xstroke/xstroke-fix-link-issues.patch deleted +0 -35
deleted file mode 100644
@@ -1,35 +0,0 @@
-Fix link issues by linking against all needed libraries
-
-Since gcc 4.6, all libraries that are directly used must be explicitly
-passed on the command line. In the case of xstroke, linking against
-Xrender, Xext and dl was missing. For the first two, they are added
-through addition PKG_CHECK_MODULES() checks, for the latter, it is
-added next to -lm and -lpthread in Makefile.am.
-
-Signed-off-by: Thomas Petazzoni <[email protected]>
-Index: b/Makefile.am
-===================================================================
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -40,7 +40,7 @@
- BUILT_SOURCES = rec_parse.h rec_lex.h rec_lex.c
- AM_YFLAGS = -d
- 
--xstroke_LDADD = @XSTROKE_LIBS@ -lm -lpthread $(X_LIBS) -lXpm -lXtst
-+xstroke_LDADD = @XSTROKE_LIBS@ -ldl -lm -lpthread $(X_LIBS) -lXpm -lXtst
- AM_CFLAGS = @XSTROKE_CFLAGS@ -DXSTROKE_CONF_DIR='"$(sysconfdir)/xstroke"' $(X_CFLAGS)
- 
- EXTRA_DIST = xstroke_active.xpm xstroke_inactive.xpm etc/alphabet
-Index: b/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -26,7 +26,7 @@
- AC_CHECK_FUNCS([gettimeofday localtime_r])
- 
- AC_PATH_XTRA
--PKG_CHECK_MODULES(XSTROKE, xft)
-+PKG_CHECK_MODULES(XSTROKE, [xft xrender xext])
- 
- AC_CONFIG_FILES([Makefile])
- AC_OUTPUT
package/xstroke/xstroke.mk deleted +0 -13
deleted file mode 100644
@@ -1,13 +0,0 @@
-################################################################################
-#
-# xstroke
-#
-################################################################################
-
-XSTROKE_VERSION = 0.6
-XSTROKE_SITE = http://mirror.egtvedt.no/avr32linux.org/twiki/pub/Main/XStroke
-
-XSTROKE_DEPENDENCIES = xlib_libXft xlib_libXtst xlib_libXpm xlib_libXrender xlib_libXext
-XSTROKE_AUTORECONF = YES
-
-$(eval $(autotools-package))
#2 lore raw

PATCH 1/1 autoconf: remove deprecated target package

In reply to Thomas De Schampheleire

The autoconf support on target has been deprecated for more than four buildroot releases and thus can be removed. This doesn't change anything about the host autoconf support.

---
 Config.in.legacy             |   8 ++++++++
 package/Config.in            |   1 -
 package/autoconf/Config.in   |  10 ----------
 package/autoconf/autoconf.mk |   6 ------
 4 files changed, 8 insertions(+), 17 deletions(-)
Config.in.legacy +8 -0
@@ -101,6 +101,14 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2014.02"
 
+config BR2_PACKAGE_AUTOCONF
+	bool "autoconf target package has been removed"
+	select BR2_LEGACY
+	help
+	  The 'autoconf' target package has been removed since it has been
+	  deprecated for more than four buildroot releases.
+	  Note: the host autoconf still exists.
+
 config BR2_PACKAGE_XSTROKE
 	bool "xstroke has been removed"
 	select BR2_LEGACY
package/Config.in +0 -1
@@ -81,7 +81,6 @@ source "package/whetstone/Config.in"
 endmenu
 
 menu "Development tools"
-source "package/autoconf/Config.in"
 source "package/automake/Config.in"
 source "package/binutils/Config.in"
 source "package/bison/Config.in"
package/autoconf/Config.in deleted +0 -10
deleted file mode 100644
@@ -1,10 +0,0 @@
-config BR2_PACKAGE_AUTOCONF
-	bool "autoconf"
-	# We no longer support a toolchain on the target
-	depends on BR2_DEPRECATED_SINCE_2012_11
-	select BR2_PACKAGE_PERL
-	help
-	  Extensible program for developing configure scripts.  These
-	  scripts handle all the mundane system/feature detection.
-
-	  http://www.gnu.org/software/autoconf/
package/autoconf/autoconf.mk +0 -6
@@ -11,17 +11,11 @@ AUTOCONF_SITE = $(BR2_GNU_MIRROR)/autoco
 AUTOCONF_LICENSE = GPLv3+ with exceptions
 AUTOCONF_LICENSE_FILES = COPYINGv3 COPYING.EXCEPTION
 
-AUTOCONF_CONF_ENV = EMACS="no" ac_cv_path_M4=$(HOST_DIR)/usr/bin/m4 \
-		    ac_cv_prog_gnu_m4_gnu=no
-
-AUTOCONF_DEPENDENCIES = host-m4 perl
-
 HOST_AUTOCONF_CONF_ENV = EMACS="no" ac_cv_path_M4=$(HOST_DIR)/usr/bin/m4 \
 			ac_cv_prog_gnu_m4_gnu=no
 
 HOST_AUTOCONF_DEPENDENCIES = host-m4 host-libtool
 
-$(eval $(autotools-package))
 $(eval $(host-autotools-package))
 
 # variables used by other packages
#3 lore raw

PATCH 1/1 automake: remove deprecated target package

In reply to Thomas De Schampheleire

The automake support on target has been deprecated for more than four buildroot releases and thus can be removed. This doesn't change anything about the host automake support.

---
 Config.in.legacy             |   8 ++++++++
 package/Config.in            |   1 -
 package/automake/Config.in   |  11 -----------
 package/automake/automake.mk |   3 ---
 4 files changed, 8 insertions(+), 15 deletions(-)
Config.in.legacy +8 -0
@@ -101,6 +101,14 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2014.02"
 
+config BR2_PACKAGE_AUTOMAKE
+	bool "automake target package has been removed"
+	select BR2_LEGACY
+	help
+	  The 'automake' target package has been removed since it has been
+	  deprecated for more than four buildroot releases.
+	  Note: the host automake still exists.
+
 config BR2_PACKAGE_AUTOCONF
 	bool "autoconf target package has been removed"
 	select BR2_LEGACY
package/Config.in +0 -1
@@ -81,7 +81,6 @@ source "package/whetstone/Config.in"
 endmenu
 
 menu "Development tools"
-source "package/automake/Config.in"
 source "package/binutils/Config.in"
 source "package/bison/Config.in"
 source "package/bsdiff/Config.in"
package/automake/Config.in deleted +0 -11
deleted file mode 100644
@@ -1,11 +0,0 @@
-config BR2_PACKAGE_AUTOMAKE
-	bool "automake"
-	# We no longer support a toolchain on the target
-	depends on BR2_DEPRECATED_SINCE_2012_11
-	select BR2_PACKAGE_AUTOCONF
-	select BR2_PACKAGE_PERL
-	help
-	  Tool for automatically generating Makefile's for input to
-	  configure scripts (made by autoconf).
-
-	  http://www.gnu.org/software/automake/
package/automake/automake.mk +0 -3
@@ -10,8 +10,6 @@ AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automa
 AUTOMAKE_LICENSE = GPLv2+
 AUTOMAKE_LICENSE_FILES = COPYING
 
-AUTOMAKE_DEPENDENCIES = host-autoconf autoconf perl
-
 HOST_AUTOMAKE_DEPENDENCIES = host-autoconf
 
 define GTK_DOC_M4_INSTALL
@@ -26,7 +24,6 @@ endef
 HOST_AUTOMAKE_POST_INSTALL_HOOKS += GTK_DOC_M4_INSTALL
 HOST_AUTOMAKE_POST_INSTALL_HOOKS += HOST_AUTOMAKE_MAKE_ACLOCAL
 
-$(eval $(autotools-package))
 $(eval $(host-autotools-package))
 
 # variables used by other packages
#4 lore raw

PATCH 1/1 packages: remove support for documentation on target

In reply to Thomas De Schampheleire

This patch removes deprecated symbol BR2_HAVE_DOCUMENTATION and all its usage. Additionally, it removes the now unused BR2_DEPRECATED_SINCE_2012_11.

---
 Config.in                                              |  14 --------------
 Config.in.legacy                                       |   7 +++++++
 Makefile                                               |   2 --
 package/Makefile.in                                    |   2 --
 package/avahi/avahi.mk                                 |   2 +-
 package/berkeleydb/berkeleydb.mk                       |   4 ----
 package/enlightenment/enlightenment.mk                 |   2 --
 package/ffmpeg/ffmpeg.mk                               |   2 +-
 package/hdparm/hdparm.mk                               |   7 -------
 package/kmod/kmod.mk                                   |   5 +----
 package/libbsd/libbsd.mk                               |   6 ------
 package/logsurfer/logsurfer.mk                         |  13 -------------
 package/ncurses/ncurses.mk                             |   2 +-
 package/netsnmp/netsnmp.mk                             |   4 +---
 package/opencv/opencv.mk                               |   4 +---
 package/perl/perl.mk                                   |   4 ----
 package/pppd/pppd.mk                                   |  10 ----------
 package/pulseaudio/pulseaudio.mk                       |   2 +-
 package/python-pygame/python-pygame.mk                 |   2 --
 package/samba/samba.mk                                 |   2 --
 package/udisks/udisks.mk                               |   3 +--
 package/vala/vala.mk                                   |  10 ++--------
 package/vim/vim.mk                                     |   2 --
 package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.mk |   2 +-
 package/x11r7/xproto_xextproto/xproto_xextproto.mk     |   2 +-
 25 files changed, 19 insertions(+), 96 deletions(-)
Config.in +0 -14
@@ -264,10 +264,6 @@ config BR2_DEPRECATED
 
 if BR2_DEPRECATED
 
-config BR2_DEPRECATED_SINCE_2012_11
-	bool
-	default y
-
 config BR2_DEPRECATED_SINCE_2013_02
 	bool
 	default y
@@ -476,16 +472,6 @@ config BR2_PREFER_STATIC_LIB
 
 	  WARNING: This is highly experimental at the moment.
 
-config BR2_HAVE_DOCUMENTATION
-	bool "documentation on the target"
-	# We no longer want to support a toolchain on the target
-	depends on BR2_DEPRECATED_SINCE_2012_11
-	help
-	  Install the documentation, including manual pages and info
-	  pages, on the target.
-	  If you say n here, your target will not contain any
-	  documentation.
-
 config BR2_PACKAGE_OVERRIDE_FILE
 	string "location of a package override file"
 	default "$(TOPDIR)/local.mk"
Config.in.legacy +7 -0
@@ -101,6 +101,13 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2014.02"
 
+config BR2_HAVE_DOCUMENTATION
+	bool "support for documentation on target has been removed"
+	select BR2_LEGACY
+	help
+	  Support for documentation on target has been removed since it has
+	  been deprecated for more than four buildroot releases.
+
 config BR2_PACKAGE_AUTOMAKE
 	bool "automake target package has been removed"
 	select BR2_LEGACY
Makefile +0 -2
@@ -500,13 +500,11 @@ target-finalize:
 ifneq ($(BR2_PACKAGE_GDB),y)
 	rm -rf $(TARGET_DIR)/usr/share/gdb
 endif
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 	rm -rf $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/man
 	rm -rf $(TARGET_DIR)/usr/info $(TARGET_DIR)/usr/share/info
 	rm -rf $(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/doc
 	rm -rf $(TARGET_DIR)/usr/share/gtk-doc
 	-rmdir $(TARGET_DIR)/usr/share 2>/dev/null
-endif
 ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY),y)
 	find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -print0 | xargs -0 rm -f
 endif
package/Makefile.in +0 -2
@@ -332,7 +332,6 @@ ifneq ($(BR2_LARGEFILE),y)
 DISABLE_LARGEFILE= --disable-largefile
 endif
 
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 # The configure option varies, but since unknown options are ignored
 # we can pass all of them.
 DISABLE_DOCUMENTATION = \
@@ -342,7 +341,6 @@ DISABLE_DOCUMENTATION = \
 	--disable-documentation \
 	--with-xmlto=no \
 	--with-fop=no
-endif
 
 ifeq ($(BR2_INET_IPV6),y)
 DISABLE_IPV6= --enable-ipv6
package/avahi/avahi.mk +1 -1
@@ -78,7 +78,7 @@ AVAHI_CONF_OPT = --localstatedir=/var \
 		--disable-monodoc \
 		--disable-stack-protector \
 		--with-distro=none \
-		$(if $(BR2_HAVE_DOCUMENTATION),--enable,--disable)-manpages \
+		--disable-manpages \
 		$(if $(BR2_PACKAGE_AVAHI_AUTOIPD),--enable,--disable)-autoipd \
 		--with-avahi-user=default \
 		--with-avahi-group=default \
package/berkeleydb/berkeleydb.mk +0 -4
@@ -54,14 +54,10 @@ BERKELEYDB_POST_INSTALL_TARGET_HOOKS += 
 
 endif
 
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
-
 define BERKELEYDB_REMOVE_DOCS
 	rm -rf $(TARGET_DIR)/usr/docs
 endef
 
 BERKELEYDB_POST_INSTALL_TARGET_HOOKS += BERKELEYDB_REMOVE_DOCS
 
-endif
-
 $(eval $(autotools-package))
package/enlightenment/enlightenment.mk +0 -2
@@ -35,13 +35,11 @@ else
 ENLIGHTENMENT_CONF_ENV += enable_alsa=no
 endif
 
-ifeq ($(BR2_HAVE_DOCUMENTATION),)
 define ENLIGHTENMENT_REMOVE_DOCUMENTATION
 	rm -rf $(TARGET_DIR)/usr/share/enlightenment/doc/
 	rm -f $(TARGET_DIR)/usr/share/enlightenment/COPYING
 	rm -f $(TARGET_DIR)/usr/share/enlightenment/AUTHORS
 endef
 ENLIGHTENMENT_POST_INSTALL_TARGET_HOOKS += ENLIGHTENMENT_REMOVE_DOCUMENTATION
-endif
 
 $(eval $(autotools-package))
package/ffmpeg/ffmpeg.mk +1 -1
@@ -69,7 +69,7 @@ FFMPEG_CONF_OPT = \
 	--disable-vis \
 	--disable-sram \
 	--disable-symver \
-	$(if $(BR2_HAVE_DOCUMENTATION),,--disable-doc)
+	--disable-doc
 
 FFMPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv)
 
package/hdparm/hdparm.mk +0 -7
@@ -15,15 +15,8 @@ define HDPARM_BUILD_CMDS
 		LDFLAGS="$(TARGET_LDFLAGS)"
 endef
 
-ifeq ($(BR2_HAVE_DOCUMENTATION),y)
-define HDPARM_INSTALL_DOCUMENTATION
-	$(INSTALL) -D $(@D)/hdparm.8 $(TARGET_DIR)/usr/share/man/man8/hdparm.8
-endef
-endif
-
 define HDPARM_INSTALL_TARGET_CMDS
 	$(INSTALL) -D -m 0755 $(@D)/hdparm $(TARGET_DIR)/sbin/hdparm
-	$(HDPARM_INSTALL_DOCUMENTATION)
 endef
 
 $(eval $(generic-package))
package/kmod/kmod.mk +1 -4
@@ -19,12 +19,9 @@ KMOD_LICENSE_FILES = libkmod/COPYING
 # https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=b7016153ec8
 KMOD_CONF_OPT = --disable-static --enable-shared
 
-# manpages not installed to host and needs xsltproc
+# manpages not installed and needs xsltproc
 HOST_KMOD_CONF_OPT = --disable-manpages
-
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 KMOD_CONF_OPT += --disable-manpages
-endif
 
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 KMOD_DEPENDENCIES += zlib
package/libbsd/libbsd.mk +0 -6
@@ -9,12 +9,6 @@ LIBBSD_SITE            = http://libbsd.f
 LIBBSD_LICENSE         = BSD-3c MIT
 LIBBSD_LICENSE_FILES   = COPYING
 
-# man-pages are BSD-4c, so that license only matters
-# if doc is kept in the target rootfs
-ifeq ($(BR2_HAVE_DOCUMENTATION),y)
-LIBBSD_LICENSE        += (libraries), BSD-4c (documentation)
-endif
-
 LIBBSD_INSTALL_STAGING = YES
 
 $(eval $(autotools-package))
package/logsurfer/logsurfer.mk +0 -13
@@ -12,17 +12,4 @@ define LOGSURFER_INSTALL_TARGET_CMDS
 		$(TARGET_DIR)/usr/bin/logsurfer
 endef
 
-ifeq ($(BR2_HAVE_DOCUMENTATION),y)
-
-define LOGSURFER_INSTALL_TARGET_MAN
-	$(INSTALL) -D -m 0644 $(@D)/man/logsurfer.1 \
-		$(TARGET_DIR)/usr/man/man1/logsurfer.1
-	$(INSTALL) -D -m 0644 $(@D)/man/logsurfer.conf.4 \
-		$(TARGET_DIR)/usr/man/man4/logsurfer.conf.4
-endef
-
-LOGSURFER_POST_INSTALL_TARGET_HOOKS += LOGSURFER_INSTALL_TARGET_MAN
-
-endif
-
 $(eval $(autotools-package))
package/ncurses/ncurses.mk +1 -1
@@ -29,7 +29,7 @@ NCURSES_CONF_OPT = \
 	--enable-overwrite \
 	--enable-pc-files \
 	$(if $(BR2_PACKAGE_NCURSES_TARGET_PROGS),,--without-progs) \
-	$(if $(BR2_HAVE_DOCUMENTATION),,--without-manpages)
+	--without-manpages
 
 # Install after busybox for the full-blown versions
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
package/netsnmp/netsnmp.mk +1 -3
@@ -44,9 +44,7 @@ else
 endif
 
 # Docs
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
-	NETSNMP_CONF_OPT += --disable-manuals
-endif
+NETSNMP_CONF_OPT += --disable-manuals
 
 ifneq ($(BR2_PACKAGE_NETSNMP_ENABLE_MIBS),y)
 	NETSNMP_CONF_OPT += --disable-mib-loading
package/opencv/opencv.mk +1 -3
@@ -12,7 +12,7 @@ OPENCV_INSTALL_STAGING = YES
 OPENCV_CONF_OPT += \
 	-DCMAKE_BUILD_TYPE=$(if $(BR2_ENABLE_DEBUG),Debug,Release)   \
 	-DBUILD_WITH_STATIC_CRT=OFF                                  \
-	-DBUILD_DOCS=$(if $(BR2_HAVE_DOCUMENTATION),ON,OFF)          \
+	-DBUILD_DOCS=OFF                                             \
 	-DBUILD_EXAMPLES=OFF                                         \
 	-DBUILD_PACKAGE=OFF                                          \
 	-DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) \
@@ -161,12 +161,10 @@ OPENCV_CONF_OPT += -DWITH_V4L=OFF
 endif
 
 # Installation hooks:
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 define OPENCV_CLEAN_INSTALL_DOC
 	$(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/doc
 endef
 OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_DOC
-endif
 
 define OPENCV_CLEAN_INSTALL_CMAKE
 	$(RM) -f $(TARGET_DIR)/usr/share/OpenCV/OpenCVConfig*.cmake
package/perl/perl.mk +0 -4
@@ -91,10 +91,6 @@ define PERL_INSTALL_STAGING_CMDS
 endef
 
 PERL_INSTALL_TARGET_GOALS = install.perl
-ifeq ($(BR2_HAVE_DOCUMENTATION),y)
-PERL_INSTALL_TARGET_GOALS += install.man
-endif
-
 
 define PERL_INSTALL_TARGET_CMDS
 	$(MAKE1) -C $(@D) DESTDIR="$(TARGET_DIR)" $(PERL_INSTALL_TARGET_GOALS)
package/pppd/pppd.mk +0 -10
@@ -12,8 +12,6 @@ PPPD_LICENSE_FILES = pppd/tdb.c pppd/plu
 	pppdump/bsd-comp.c pppd/ccp.c pppd/plugins/passprompt.c
 
 PPPD_TARGET_BINS = chat pppd pppdump pppstats
-PPPD_MANPAGES = $(if $(BR2_HAVE_DOCUMENTATION),chat pppd pppdump pppstats)
-PPPD_RADIUS_MANPAGES = $(if $(BR2_HAVE_DOCUMENTATION),pppd-radattr pppd-radius)
 PPPD_RADIUS_CONF = dictionary dictionary.ascend dictionary.compat \
 			dictionary.merit dictionary.microsoft \
 			issue port-id-map realms server radiusclient.conf
@@ -65,10 +63,6 @@ define PPPD_INSTALL_RADIUS
 		$(TARGET_DIR)/etc/ppp/radius/radiusclient.conf
 	$(SED) 's:/etc/radiusclient:/etc/ppp/radius:g' \
 		$(TARGET_DIR)/etc/ppp/radius/*
-	for m in $(PPPD_RADIUS_MANPAGES); do \
-		$(INSTALL) -m 644 -D $(PPPD_DIR)/pppd/plugins/radius/$$m.8 \
-			$(TARGET_DIR)/usr/share/man/man8/$$m.8; \
-	done
 endef
 endif
 
@@ -96,10 +90,6 @@ define PPPD_INSTALL_TARGET_CMDS
 	$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppol2tp/pppol2tp.so \
 		$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/pppol2tp.so
 	$(PPPD_INSTALL_RADIUS)
-	for m in $(PPPD_MANPAGES); do \
-		$(INSTALL) -m 644 -D $(PPPD_DIR)/$$m/$$m.8 \
-			$(TARGET_DIR)/usr/share/man/man8/$$m.8; \
-	done
 endef
 
 $(eval $(generic-package))
package/pulseaudio/pulseaudio.mk +1 -1
@@ -15,7 +15,7 @@ PULSEAUDIO_CONF_OPT = \
 	--disable-default-build-tests \
 	--disable-legacy-runtime-dir \
 	--disable-legacy-database-entry-format \
-	$(if $(BR2_HAVE_DOCUMENTATION),,--disable-manpages)
+	--disable-manpages
 
 PULSEAUDIO_DEPENDENCIES = \
 	host-pkgconf libtool json-c libsndfile speex host-intltool \
package/python-pygame/python-pygame.mk +0 -2
@@ -82,13 +82,11 @@ define PYTHON_PYGAME_CONFIGURE_CMDS
 	$(PYTHON_PYGAME_UNCONFIGURE_SCRAP)
 endef
 
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 define PYTHON_PYGAME_REMOVE_DOC
 	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs
 endef
 
 PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_DOC
-endif
 
 define PYTHON_PYGAME_REMOVE_TESTS
 	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
package/samba/samba.mk +0 -2
@@ -157,10 +157,8 @@ endif
 SAMBA_CONF_OPT += CFLAGS="$(TARGET_CFLAGS) -DMAX_DEBUG_LEVEL=$(BR2_PACKAGE_SAMBA_MAX_DEBUGLEVEL)"
 
 ifeq ($(BR2_PACKAGE_SAMBA_SWAT),y)
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_REMOVE_SWAT_DOCUMENTATION
 endif
-endif
 
 define SAMBA_INSTALL_INITSCRIPTS_CONFIG
 	# install start/stop script
package/udisks/udisks.mk +1 -2
@@ -20,8 +20,7 @@ UDISKS_DEPENDENCIES = 	\
 	lvm2		\
 	libatasmart
 
-UDISKS_CONF_OPT = --disable-remote-access \
-	$(if $(BR2_HAVE_DOCUMENTATION),,--disable-man-pages)
+UDISKS_CONF_OPT = --disable-remote-access --disable-man-pages
 
 ifeq ($(BR2_PACKAGE_UDISKS_LVM2),y)
 UDISKS_CONF_OPT += --enable-lvm2
package/vala/vala.mk +2 -8
@@ -15,15 +15,9 @@ VALA_LICENSE_FILES = COPYING
 VALA_DEPENDENCIES = host-flex host-bison libglib2 \
 		$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
-# If we want the documentation, then xsltproc is needed. If we don't
-# want the documentation, force Vala to not use the host xsltproc even
-# if available, because it may or may not work with Vala documentation
-# (some versions of xsltproc segfault)
-ifeq ($(BR2_HAVE_DOCUMENTATION),y)
-VALA_DEPENDENCIES += host-libxslt
-else
+# Force Vala to not use the host xsltproc even if available, because it may or
+# may not work with Vala documentation (some versions of xsltproc segfault)
 VALA_CONF_ENV = ac_cv_path_XSLTPROC=:
-endif
 
 HOST_VALA_DEPENDENCIES = host-flex host-libglib2
 # Yes, the autoconf script understands ':' as "xsltproc is not
package/vim/vim.mk +0 -2
@@ -42,9 +42,7 @@ endef
 
 ifeq ($(BR2_PACKAGE_VIM_RUNTIME),y)
 VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_RUNTIME_CMDS
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 VIM_POST_INSTALL_TARGET_HOOKS += VIM_REMOVE_DOCS
 endif
-endif
 
 $(eval $(autotools-package))
package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.mk +1 -1
@@ -10,7 +10,7 @@ XPROTO_XCMISCPROTO_SITE = http://xorg.fr
 XPROTO_XCMISCPROTO_LICENSE = MIT
 XPROTO_XCMISCPROTO_LICENSE_FILES = COPYING
 XPROTO_XCMISCPROTO_INSTALL_STAGING = YES
-XPROTO_XCMISCPROTO_CONF_OPT = $(if $(BR2_HAVE_DOCUMENTATION),,--disable-specs)
+XPROTO_XCMISCPROTO_CONF_OPT = --disable-specs
 HOST_XPROTO_XCMISCPROTO_CONF_OPT = --disable-specs
 
 $(eval $(autotools-package))
package/x11r7/xproto_xextproto/xproto_xextproto.mk +1 -1
@@ -10,7 +10,7 @@ XPROTO_XEXTPROTO_SITE = http://xorg.free
 XPROTO_XEXTPROTO_LICENSE = MIT
 XPROTO_XEXTPROTO_LICENSE_FILES = COPYING
 XPROTO_XEXTPROTO_INSTALL_STAGING = YES
-XPROTO_XEXTPROTO_CONF_OPT = $(if $(BR2_HAVE_DOCUMENTATION),,--disable-specs)
+XPROTO_XEXTPROTO_CONF_OPT = --disable-specs
 HOST_XPROTO_XEXTPROTO_CONF_OPT = --disable-specs
 
 $(eval $(autotools-package))
#5 lore raw

PATCH 1/1 packages: remove support for documentation on target

Dear Thomas De Schampheleire,

Quoted 12 lines · Thomas De Schampheleire
package/Makefile.in +0 -1
@@ -332,7 +332,6 @@ ifneq ($(BR2_LARGEFILE),y)
 DISABLE_LARGEFILE= --disable-largefile
 endif
 
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 # The configure option varies, but since unknown options are ignored
 # we can pass all of them.
 DISABLE_DOCUMENTATION = \

package/Makefile.in DISABLE_DOCUMENTATION = \ · line 345

Quoted 4 lines
package/Makefile.in +0 -1
@@ -342,7 +341,6 @@ DISABLE_DOCUMENTATION = \
 	--disable-documentation \
 	--with-xmlto=no \
 	--with-fop=no
-endif

So the DISABLE_DOCUMENTATION variable now always has the same value, and is only used in pkg-autotools.mk in one place. So I believe it makes sense to remove this variable altogether, and simply pass all the appropriate --<something> options directly in the <pkg>_CONFIGURE_CMDS of pkg-autotools.mk.

Quoted 4 lines

package/kmod/kmod.mk KMOD_LICENSE_FILES = libkmod/COPYING · line 27

Quoted 10 lines
package/kmod/kmod.mk +1 -4
@@ -19,12 +19,9 @@ KMOD_LICENSE_FILES = libkmod/COPYING
 # https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=b7016153ec8
 KMOD_CONF_OPT = --disable-static --enable-shared
 
-# manpages not installed to host and needs xsltproc
+# manpages not installed and needs xsltproc
 HOST_KMOD_CONF_OPT = --disable-manpages
-
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 KMOD_CONF_OPT += --disable-manpages
-endif

Then merge this KMOD_CONF_OPT += line with the existing KMOD_CONF_OPT line above.

package/netsnmp/netsnmp.mk else · line 47

Quoted 11 lines
package/netsnmp/netsnmp.mk +1 -3
@@ -44,9 +44,7 @@ else
 endif
 
 # Docs
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
-	NETSNMP_CONF_OPT += --disable-manuals
-endif
+NETSNMP_CONF_OPT += --disable-manuals

Ditto here. Now that it is no longer conditional, you can add --disable-manuals to the already existing NETSNMP_CONF_OPT unconditional definition.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#6 lore raw

PATCH 1/1 packages: remove support for documentation on target

Hi Thomas,

Quoted 11 lines · Thomas Petazzoni

Dear Thomas De Schampheleire,

Quoted 7 lines · Thomas De Schampheleire
package/Makefile.in +0 -0
@@ -332,7 +332,6 @@ ifneq ($(BR2_LARGEFILE),y)
 DISABLE_LARGEFILE= --disable-largefile
 endif
 
Quoted 15 lines

package/Makefile.in DISABLE_DOCUMENTATION = \ · line 345

Quoted 9 lines
package/Makefile.in +0 -2
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 # The configure option varies, but since unknown options are ignored
 # we can pass all of them.
 DISABLE_DOCUMENTATION = \
@@ -342,7 +341,6 @@ DISABLE_DOCUMENTATION = \
      --disable-documentation \
      --with-xmlto=no \
      --with-fop=no
-endif

So the DISABLE_DOCUMENTATION variable now always has the same value, and is only used in pkg-autotools.mk in one place. So I believe it makes sense to remove this variable altogether, and simply pass all the appropriate --<something> options directly in the <pkg>_CONFIGURE_CMDS of pkg-autotools.mk.

OK.
By the way, I added on my own todo list that we should try to expand the automatically passed options, for example:
--disable-manpages --disable-man-pages --disable-manuals etc. as some of them are used in several packages...

Quoted 9 lines
Quoted 9 lines
package/kmod/kmod.mk +0 -0
@@ -19,12 +19,9 @@ KMOD_LICENSE_FILES = libkmod/COPYING
 # https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=b7016153ec8
 KMOD_CONF_OPT = --disable-static --enable-shared
 
Quoted 10 lines

package/kmod/kmod.mk KMOD_LICENSE_FILES = libkmod/COPYING · line 27

Quoted 7 lines
package/kmod/kmod.mk +1 -4
-# manpages not installed to host and needs xsltproc
+# manpages not installed and needs xsltproc
 HOST_KMOD_CONF_OPT = --disable-manpages
-
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 KMOD_CONF_OPT += --disable-manpages
-endif

Then merge this KMOD_CONF_OPT += line with the existing KMOD_CONF_OPT line above.

I did not do that because the --disable-static --enable-shared setting is accompanied with a comment:

# static linking not supported, see
# https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=b7016153ec8
KMOD_CONF_OPT = --disable-static --enable-shared

and I felt that adding --disable-manpages here would be confusing. With this extra info, what is your position?

Quoted 7 lines
Quoted 7 lines
package/netsnmp/netsnmp.mk +0 -0
@@ -44,9 +44,7 @@ else
 endif
 
Quoted 9 lines

package/netsnmp/netsnmp.mk else · line 47

Quoted 5 lines
package/netsnmp/netsnmp.mk +1 -3
 # Docs
-ifneq ($(BR2_HAVE_DOCUMENTATION),y)
-     NETSNMP_CONF_OPT += --disable-manuals
-endif
+NETSNMP_CONF_OPT += --disable-manuals

Ditto here. Now that it is no longer conditional, you can add --disable-manuals to the already existing NETSNMP_CONF_OPT unconditional definition.

Here I agree, I will change it.

Best regards,
Thomas

#7 lore raw

PATCH 1/1 packages: remove support for documentation on target

Dear Thomas De Schampheleire,

Quoted 11 lines · Thomas De Schampheleire
Quoted 5 lines

So the DISABLE_DOCUMENTATION variable now always has the same value, and is only used in pkg-autotools.mk in one place. So I believe it makes sense to remove this variable altogether, and simply pass all the appropriate --<something> options directly in the <pkg>_CONFIGURE_CMDS of pkg-autotools.mk.

OK.
By the way, I added on my own todo list that we should try to expand the automatically passed options, for example:
--disable-manpages --disable-man-pages --disable-manuals etc. as some of them are used in several packages...

I have a mixed feeling about this. The problem is that those options are not standard, so by far not all configure scripts understand them. Which means that when a given configure script is called, you often have a warning:

WARNING: options --disable-foo --enable-bar unsupported

If you have gazillions of options that are unsupported, then you may very well miss an option passed by your .mk file on which you made a typo, for example.

So having a long list of options to disable documentation is not something that I personally like that much, but I believe Arnout does not share the same opinion :)

Quoted 11 lines
Quoted 2 lines

Then merge this KMOD_CONF_OPT += line with the existing KMOD_CONF_OPT line above.

I did not do that because the --disable-static --enable-shared setting is accompanied with a comment:

# static linking not supported, see
# https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=b7016153ec8
KMOD_CONF_OPT = --disable-static --enable-shared

and I felt that adding --disable-manpages here would be confusing. With this extra info, what is your position?

Ah, ok. In that case then it would be more natural maybe to have first the mandatory normal options, and then this special shared/static thing. Like:

KMOD_CONF_OPT = --disable-manpages

# blabla static blabla shared
KMOD_CONF_OPT += --disable-static --enable-shared

All these comments are cosmetic comment, so I'm in favor of merging your patch set as is, and do followup improvements as needed.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#8 lore raw

PATCH 1/1 packages: remove support for documentation on target

Hi Thomas,

On Wed, Feb 5, 2014 at 2:16 PM, Thomas Petazzoni
<[email protected]> wrote:
[..]

Quoted 13 lines
Quoted 4 lines
Quoted 3 lines

Then merge this KMOD_CONF_OPT += line with the existing KMOD_CONF_OPT line above.

Quoted 8 lines

I did not do that because the --disable-static --enable-shared setting is accompanied with a comment:

# static linking not supported, see
# https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=b7016153ec8
KMOD_CONF_OPT = --disable-static --enable-shared

and I felt that adding --disable-manpages here would be confusing. With this extra info, what is your position?

Quoted 9 lines

Ah, ok. In that case then it would be more natural maybe to have first the mandatory normal options, and then this special shared/static thing. Like:

KMOD_CONF_OPT = --disable-manpages

# blabla static blabla shared
KMOD_CONF_OPT += --disable-static --enable-shared

Looking at this file, I don't know if your suggestion makes sense. Here is part of the original file:

-----------------------------------
KMOD_VERSION = 16
KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod/ KMOD_INSTALL_STAGING = YES
KMOD_DEPENDENCIES = host-pkgconf HOST_KMOD_DEPENDENCIES = host-pkgconf

# license info for libkmod only, conditionally add more below
KMOD_LICENSE = LGPLv2.1+
KMOD_LICENSE_FILES = libkmod/COPYING
# static linking not supported, see
# https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=b7016153ec8
KMOD_CONF_OPT = --disable-static --enable-shared
# manpages not installed and needs xsltproc
HOST_KMOD_CONF_OPT = --disable-manpages
KMOD_CONF_OPT += --disable-manpages

ifeq ($(BR2_PACKAGE_ZLIB),y)
KMOD_DEPENDENCIES += zlib
KMOD_CONF_OPT += --with-zlib
endif

ifeq ($(BR2_PACKAGE_XZ),y)
KMOD_DEPENDENCIES += xz
KMOD_CONF_OPT += --with-xz
endif
------------------------------------

I can certainly put the two manpage-related lines above the static linking, but this is just a move in the file, right?

Thanks,
Thomas

#9 lore raw

PATCH 1/1 packages: remove support for documentation on target

Dear Thomas De Schampheleire,

Quoted 28 lines · Thomas De Schampheleire

Looking at this file, I don't know if your suggestion makes sense. Here is part of the original file:

-----------------------------------
KMOD_VERSION = 16
KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod/ KMOD_INSTALL_STAGING = YES
KMOD_DEPENDENCIES = host-pkgconf HOST_KMOD_DEPENDENCIES = host-pkgconf

# license info for libkmod only, conditionally add more below
KMOD_LICENSE = LGPLv2.1+
KMOD_LICENSE_FILES = libkmod/COPYING
# static linking not supported, see
# https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=b7016153ec8
KMOD_CONF_OPT = --disable-static --enable-shared
# manpages not installed and needs xsltproc
HOST_KMOD_CONF_OPT = --disable-manpages
KMOD_CONF_OPT += --disable-manpages

ifeq ($(BR2_PACKAGE_ZLIB),y)
KMOD_DEPENDENCIES += zlib
KMOD_CONF_OPT += --with-zlib
endif

Quoted 8 lines

ifeq ($(BR2_PACKAGE_XZ),y)
KMOD_DEPENDENCIES += xz
KMOD_CONF_OPT += --with-xz
endif
------------------------------------

I can certainly put the two manpage-related lines above the static linking, but this is just a move in the file, right?

You're right, I agree my suggestion doesn't make much sense. Just keep your patch as it was, it is good.

Sorry for the noise :/

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#10 lore raw

PATCH 1/1 packages: remove support for documentation on target

In reply to Thomas Petazzoni
Quoted 22 lines · Thomas Petazzoni

Dear Thomas De Schampheleire,

Quoted 11 lines · Thomas De Schampheleire
Quoted 11 lines
Quoted 5 lines
Quoted 5 lines

So the DISABLE_DOCUMENTATION variable now always has the same value, and is only used in pkg-autotools.mk in one place. So I believe it makes sense to remove this variable altogether, and simply pass all the appropriate --<something> options directly in the <pkg>_CONFIGURE_CMDS of pkg-autotools.mk.

OK.
By the way, I added on my own todo list that we should try to expand the automatically passed options, for example:
--disable-manpages --disable-man-pages --disable-manuals etc. as some of them are used in several packages...

I have a mixed feeling about this. The problem is that those options are not standard, so by far not all configure scripts understand them. Which means that when a given configure script is called, you often have a warning:

WARNING: options --disable-foo --enable-bar unsupported

Quoted 7 lines

If you have gazillions of options that are unsupported, then you may very well miss an option passed by your .mk file on which you made a typo, for example.

So having a long list of options to disable documentation is not something that I personally like that much, but I believe Arnout does not share the same opinion :)

I have a mixed opinion about this...

I do think that the configure options should ideally be as exact as
possible. However, documentation is something that is wont to cause hard to track build failures, e.g. trying to run system asciidoc with host python, or system makeinfo with host-perl. So if we remove it from the defaults, then we should make sure that _all_ autotools packages disable their documentation.

Hm, now I think about that, it would actually be a good idea to do
that... We currently still miss some of these cases because we assume --disable-documentation works, but if we make a habit of paying attention to it, then there is less risk of this happening.

Regards,
Arnout

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#11 lore raw

PATCH 1/1 packages: remove support for documentation on target

Dear Arnout Vandecappelle,

Quoted 10 lines · Arnout Vandecappelle
Quoted 9 lines

WARNING: options --disable-foo --enable-bar unsupported

If you have gazillions of options that are unsupported, then you may very well miss an option passed by your .mk file on which you made a typo, for example.

So having a long list of options to disable documentation is not something that I personally like that much, but I believe Arnout does not share the same opinion :)

Quoted 5 lines

I have a mixed opinion about this...

I do think that the configure options should ideally be as exact as
possible. However, documentation is something that is wont to cause hard to track build failures

Not sure what you meant here. Will those build failures be hard to track, or *not* hard to track ?

Remember that the Free Electrons autobuilder builds run in a chroot that has only the minimal hard dependencies required by Buildroot. This typically allows us to catch invisible dependencies on asciidoc or other documentation utilities.

Quoted 4 lines

, e.g. trying to run system asciidoc with host
python, or system makeinfo with host-perl. So if we remove it from the defaults, then we should make sure that _all_ autotools packages disable their documentation.

Indeed.

Quoted 4 lines

Hm, now I think about that, it would actually be a good idea to do
that... We currently still miss some of these cases because we assume --disable-documentation works, but if we make a habit of paying attention to it, then there is less risk of this happening.

So your conclusion is that instead of passing those options globally, we should pass them in a per-package basis, so that we remember to always verify that the documentation disabling has been done?

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#12 lore raw

PATCH 1/1 packages: remove support for documentation on target

Quoted 20 lines · Thomas Petazzoni

Dear Arnout Vandecappelle,

Quoted 10 lines · Arnout Vandecappelle
Quoted 9 lines

WARNING: options --disable-foo --enable-bar unsupported

If you have gazillions of options that are unsupported, then you may very well miss an option passed by your .mk file on which you made a typo, for example.

So having a long list of options to disable documentation is not something that I personally like that much, but I believe Arnout does not share the same opinion :)

Quoted 5 lines

I have a mixed opinion about this...

I do think that the configure options should ideally be as exact as
possible. However, documentation is something that is wont to cause hard to track build failures

Quoted 7 lines

Not sure what you meant here. Will those build failures be hard to track, or *not* hard to track ?

Remember that the Free Electrons autobuilder builds run in a chroot that has only the minimal hard dependencies required by Buildroot. This typically allows us to catch invisible dependencies on asciidoc or other documentation utilities.

Yes, and this is exactly the problem. On the autobuilders, autotools
will detect that asciidoc is missing and will not build documentation. On a user's machine, however, autotools will detect that asciidoc is present and use it, but then /usr/bin/asciidoc will try to use host-python instead of /usr/bin/python and fails because of some missing modules.

Quoted 8 lines
Quoted 5 lines

, e.g. trying to run system asciidoc with host
python, or system makeinfo with host-perl. So if we remove it from the defaults, then we should make sure that _all_ autotools packages disable their documentation.

Indeed.

Quoted 8 lines
Quoted 4 lines

Hm, now I think about that, it would actually be a good idea to do
that... We currently still miss some of these cases because we assume --disable-documentation works, but if we make a habit of paying attention to it, then there is less risk of this happening.

So your conclusion is that instead of passing those options globally, we should pass them in a per-package basis, so that we remember to always verify that the documentation disabling has been done?

Exactly.

But of course that's a large change, since all 846 autotools packages
would have to be checked...

So let's start with not adding anything to the global CONF_OPT :-)

Regards,
Arnout

Quoted 5 lines

Best regards,

Thomas

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#13 lore raw

PATCH 1/1 packages: remove support for documentation on target

Quoted 52 lines · Arnout Vandecappelle
Quoted 20 lines · Thomas Petazzoni

Dear Arnout Vandecappelle,

Quoted 10 lines · Arnout Vandecappelle
Quoted 9 lines

WARNING: options --disable-foo --enable-bar unsupported

If you have gazillions of options that are unsupported, then you may very well miss an option passed by your .mk file on which you made a typo, for example.

So having a long list of options to disable documentation is not something that I personally like that much, but I believe Arnout does not share the same opinion :)

Quoted 5 lines

I have a mixed opinion about this...

I do think that the configure options should ideally be as exact as
possible. However, documentation is something that is wont to cause hard to track build failures

Quoted 7 lines

Not sure what you meant here. Will those build failures be hard to track, or *not* hard to track ?

Remember that the Free Electrons autobuilder builds run in a chroot that has only the minimal hard dependencies required by Buildroot. This typically allows us to catch invisible dependencies on asciidoc or other documentation utilities.

Yes, and this is exactly the problem. On the autobuilders, autotools
will detect that asciidoc is missing and will not build documentation. On a user's machine, however, autotools will detect that asciidoc is present and use it, but then /usr/bin/asciidoc will try to use host-python instead of /usr/bin/python and fails because of some missing modules.

Quoted 8 lines
Quoted 5 lines

, e.g. trying to run system asciidoc with host
python, or system makeinfo with host-perl. So if we remove it from the defaults, then we should make sure that _all_ autotools packages disable their documentation.

Indeed.

Quoted 8 lines
Quoted 4 lines

Hm, now I think about that, it would actually be a good idea to do
that... We currently still miss some of these cases because we assume --disable-documentation works, but if we make a habit of paying attention to it, then there is less risk of this happening.

So your conclusion is that instead of passing those options globally, we should pass them in a per-package basis, so that we remember to always verify that the documentation disabling has been done?

Quoted 7 lines

Exactly.

But of course that's a large change, since all 846 autotools packages
would have to be checked...

So let's start with not adding anything to the global CONF_OPT :-)

With this conclusion, I'd say we mark the last patch as Rejected (the one removing the separate DISABLE_DOCUMENTATION variable).

What about the other patches? Good to proceed?

Thanks,
Thomas

#14 lore raw

PATCH 1/1 packages: remove support for documentation on target

Dear Thomas De Schampheleire,

Quoted 7 lines · Thomas De Schampheleire
Quoted 4 lines

But of course that's a large change, since all 846 autotools packages
would have to be checked...

So let's start with not adding anything to the global CONF_OPT :-)

With this conclusion, I'd say we mark the last patch as Rejected (the one removing the separate DISABLE_DOCUMENTATION variable).

I don't really come to the same conclusion. Arnout said to not add more things to the global CONF_OPT.

The existing options in DISABLE_DOCUMENTATION are already part of the CONF_OPT, so having a small refactoring that removes DISABLE_DOCUMENTATION and makes it part of the global CONF_OPT doesn't change anything in terms of removing those global options and moving them to a per-package solution.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#15 lore raw

PATCH 1/1 packages: remove support for documentation on target

Quoted 12 lines · Thomas Petazzoni

Dear Thomas De Schampheleire,

Quoted 7 lines · Thomas De Schampheleire
Quoted 4 lines

But of course that's a large change, since all 846 autotools packages
would have to be checked...

So let's start with not adding anything to the global CONF_OPT :-)

With this conclusion, I'd say we mark the last patch as Rejected (the one removing the separate DISABLE_DOCUMENTATION variable).

Quoted 8 lines

I don't really come to the same conclusion. Arnout said to not add more things to the global CONF_OPT.

The existing options in DISABLE_DOCUMENTATION are already part of the CONF_OPT, so having a small refactoring that removes DISABLE_DOCUMENTATION and makes it part of the global CONF_OPT doesn't change anything in terms of removing those global options and moving them to a per-package solution.

My reasoning was that if we are going to migrate the global options to per-package options, then it is not needed to change anything about this now. Maybe this is too swift a conclusion...

I have no very strong opinion about the last patch, so feel free to apply or reject it.

Best regards,
Thomas

#16 lore raw

PATCH 1/1 packages: remove support for documentation on target

In reply to Thomas Petazzoni
Quoted 12 lines · Thomas Petazzoni

Dear Thomas De Schampheleire,

Quoted 7 lines · Thomas De Schampheleire
Quoted 4 lines

But of course that's a large change, since all 846 autotools packages
would have to be checked...

So let's start with not adding anything to the global CONF_OPT :-)

With this conclusion, I'd say we mark the last patch as Rejected (the one removing the separate DISABLE_DOCUMENTATION variable).

Quoted 8 lines

I don't really come to the same conclusion. Arnout said to not add more things to the global CONF_OPT.

The existing options in DISABLE_DOCUMENTATION are already part of the CONF_OPT, so having a small refactoring that removes DISABLE_DOCUMENTATION and makes it part of the global CONF_OPT doesn't change anything in terms of removing those global options and moving them to a per-package solution.

Exactly.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#17 lore raw

PATCH 1/1 packages: remove support for documentation on target

In reply to Thomas Petazzoni
Quoted 10 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

I don't really come to the same conclusion. Arnout said to not add more things to the global CONF_OPT.

The existing options in DISABLE_DOCUMENTATION are already part of the CONF_OPT, so having a small refactoring that removes DISABLE_DOCUMENTATION and makes it part of the global CONF_OPT doesn't change anything in terms of removing those global options and moving them to a per-package solution.

Agreed.

Signature · 1 line
Bye, Peter Korsgaard
#18 lore raw

PATCH 1/1 ccache: remove deprecated target package

In reply to Thomas De Schampheleire

The ccache target package has been deprecated since 2013.02 and thus can be removed in 2014.02. This does not change anything about host ccache (used for speeding up builds).

---
 Config.in.legacy         |   8 ++++++++
 package/Config.in        |   1 -
 package/ccache/Config.in |  12 ------------
 package/ccache/ccache.mk |   1 -
 4 files changed, 8 insertions(+), 14 deletions(-)
Config.in.legacy +8 -0
@@ -101,6 +101,14 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2014.02"
 
+config BR2_PACKAGE_CCACHE
+	bool "ccache target package has been removed"
+	select BR2_LEGACY
+	help
+	  The 'ccache' target package has been removed since it has been
+	  deprecated for more than four buildroot releases.
+	  Note: using ccache for speeding up builds is still supported.
+
 config BR2_HAVE_DOCUMENTATION
 	bool "support for documentation on target has been removed"
 	select BR2_LEGACY
package/Config.in +0 -1
@@ -85,7 +85,6 @@ source "package/binutils/Config.in"
 source "package/bison/Config.in"
 source "package/bsdiff/Config.in"
 source "package/bustle/Config.in"
-source "package/ccache/Config.in"
 source "package/cvs/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/diffutils/Config.in"
package/ccache/Config.in deleted +0 -12
deleted file mode 100644
@@ -1,12 +0,0 @@
-config BR2_PACKAGE_CCACHE
-	bool "ccache"
-	# needs fork()
-	depends on BR2_USE_MMU
-	# We no longer support a toolchain on the target
-	depends on BR2_DEPRECATED_SINCE_2013_02
-	help
-	  ccache is a compiler cache. It speeds up recompilation by
-	  caching previous compilations and detecting when the same
-	  compilation is being done again
-
-	  http://ccache.samba.org
package/ccache/ccache.mk +0 -1
@@ -38,7 +38,6 @@ endef
 HOST_CCACHE_POST_CONFIGURE_HOOKS += \
 	HOST_CCACHE_PATCH_CONFIGURATION
 
-$(eval $(autotools-package))
 $(eval $(host-autotools-package))
 
 ifeq ($(BR2_CCACHE),y)
#19 lore raw

PATCH 1/1 gdb: remove deprecated versions 7.2.x and 7.3.x

In reply to Thomas De Schampheleire

Gdb versions 7.2.x and 7.3.x have been deprecated since 2013.02 and thus can be removed in 2014.02.
For legacy handling, version 7.5.x is automatically selected.

---
 Config.in.legacy           |  18 ++++++++++++++++++
 package/gdb/Config.in.host |  12 ------------
 2 files changed, 18 insertions(+), 12 deletions(-)
Config.in.legacy +18 -0
@@ -101,6 +101,24 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2014.02"
 
+config BR2_GDB_VERSION_7_2
+	bool "gdb 7.2.x is no longer supported"
+	select BR2_GDB_VERSION_7_5
+	select BR2_LEGACY
+	help
+	  Version 7.2.x of gdb has been deprecated for more than four
+	  buildroot releases and is now removed. As an alternative, gdb
+	  7.5.x has been automatically selected in your configuration.
+
+config BR2_GDB_VERSION_7_3
+	bool "gdb 7.3.x is no longer supported"
+	select BR2_GDB_VERSION_7_5
+	select BR2_LEGACY
+	help
+	  Version 7.3.x of gdb has been deprecated for more than four
+	  buildroot releases and is now removed. As an alternative, gdb
+	  7.5.x has been automatically selected in your configuration.
+
 config BR2_PACKAGE_CCACHE
 	bool "ccache target package has been removed"
 	select BR2_LEGACY
package/gdb/Config.in.host +0 -12
@@ -31,16 +31,6 @@ choice
 		depends on BR2_avr32
 		bool "gdb 6.7.1-avr32-2.1.5"
 
-	config BR2_GDB_VERSION_7_2
-		bool "gdb 7.2.x"
-		depends on !BR2_bfin
-		depends on BR2_DEPRECATED_SINCE_2013_02
-
-	config BR2_GDB_VERSION_7_3
-		bool "gdb 7.3.x"
-		depends on !BR2_bfin
-		depends on BR2_DEPRECATED_SINCE_2013_02
-
 	config BR2_GDB_VERSION_7_4
 		bool "gdb 7.4.x"
 		depends on !BR2_bfin
@@ -55,8 +45,6 @@ config BR2_GDB_VERSION
 	string
 	default "6.6a"     if BR2_GDB_VERSION_6_6
 	default "6.7.1-avr32-2.1.5" if BR2_GDB_VERSION_6_7_1_AVR32_2_1_5
-	default "7.2a"     if BR2_GDB_VERSION_7_2
-	default "7.3.1"    if BR2_GDB_VERSION_7_3
 	default "7.4.1"    if BR2_GDB_VERSION_7_4
 	default "7.5.1"    if BR2_GDB_VERSION_7_5
 	default "f25a1952afd054205f9471e449c1f7ca5b271b7c" if BR2_arc
#20 lore raw

PATCH 1/1 kernel-headers: remove deprecated versions 3.1, 3.3, 3.5

In reply to Thomas De Schampheleire

The Linux kernel headers versions 3.1, 3.3, and 3.5 have been deprecated since 2013.02 and thus can be removed in 2014.02.
For legacy handling, we automatically select versions 3.2, 3.4, and 3.6, respectively.

Additionally, this patch removes the now unused symbol BR2_DEPRECATED_SINCE_2013_02.

---
 Config.in                            |   4 ----
 Config.in.legacy                     |  30 ++++++++++++++++++++++++++++++
 package/linux-headers/Config.in.host |  15 ---------------
 3 files changed, 30 insertions(+), 19 deletions(-)
Config.in +0 -4
@@ -264,10 +264,6 @@ config BR2_DEPRECATED
 
 if BR2_DEPRECATED
 
-config BR2_DEPRECATED_SINCE_2013_02
-	bool
-	default y
-
 config BR2_DEPRECATED_SINCE_2013_05
 	bool
 	default y
Config.in.legacy +30 -0
@@ -101,6 +101,36 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2014.02"
 
+config BR2_KERNEL_HEADERS_3_1
+	bool "kernel headers version 3.1.x are no longer supported"
+	select BR2_KERNEL_HEADERS_3_2
+	select BR2_LEGACY
+	help
+	  Version 3.1.x of the Linux kernel headers have been deprecated
+	  for more than four buildroot releases and are now removed.
+	  As an alternative, version 3.2.x of the headers have been
+	  automatically selected in your configuration.
+
+config BR2_KERNEL_HEADERS_3_3
+	bool "kernel headers version 3.3.x are no longer supported"
+	select BR2_KERNEL_HEADERS_3_4
+	select BR2_LEGACY
+	help
+	  Version 3.3.x of the Linux kernel headers have been deprecated
+	  for more than four buildroot releases and are now removed.
+	  As an alternative, version 3.4.x of the headers have been
+	  automatically selected in your configuration.
+
+config BR2_KERNEL_HEADERS_3_5
+	bool "kernel headers version 3.5.x are no longer supported"
+	select BR2_KERNEL_HEADERS_3_6
+	select BR2_LEGACY
+	help
+	  Version 3.5.x of the Linux kernel headers have been deprecated
+	  for more than four buildroot releases and are now removed.
+	  As an alternative, version 3.6.x of the headers have been
+	  automatically selected in your configuration.
+
 config BR2_GDB_VERSION_7_2
 	bool "gdb 7.2.x is no longer supported"
 	select BR2_GDB_VERSION_7_5
package/linux-headers/Config.in.host +0 -15
@@ -18,26 +18,14 @@ choice
 		bool "Linux 3.0.x kernel headers"
 		depends on !BR2_arc
 
-	config BR2_KERNEL_HEADERS_3_1
-		bool "Linux 3.1.x kernel headers"
-		depends on BR2_DEPRECATED_SINCE_2013_02 && !BR2_arc
-
 	config BR2_KERNEL_HEADERS_3_2
 		bool "Linux 3.2.x kernel headers"
 		depends on !BR2_arc
 
-	config BR2_KERNEL_HEADERS_3_3
-		bool "Linux 3.3.x kernel headers"
-		depends on BR2_DEPRECATED_SINCE_2013_02 && !BR2_arc
-
 	config BR2_KERNEL_HEADERS_3_4
 		bool "Linux 3.4.x kernel headers"
 		depends on !BR2_arc
 
-	config BR2_KERNEL_HEADERS_3_5
-		bool "Linux 3.5.x kernel headers"
-		depends on BR2_DEPRECATED_SINCE_2013_02 && !BR2_arc
-
 	config BR2_KERNEL_HEADERS_3_6
 		bool "Linux 3.6.x kernel headers"
 		depends on BR2_DEPRECATED_SINCE_2013_05 && !BR2_arc
@@ -83,11 +71,8 @@ config BR2_DEFAULT_KERNEL_VERSION
 config BR2_DEFAULT_KERNEL_HEADERS
 	string
 	default "3.0.101"	if BR2_KERNEL_HEADERS_3_0
-	default "3.1.10"	if BR2_KERNEL_HEADERS_3_1
 	default "3.2.54"	if BR2_KERNEL_HEADERS_3_2
-	default "3.3.8"		if BR2_KERNEL_HEADERS_3_3
 	default "3.4.78"	if BR2_KERNEL_HEADERS_3_4
-	default "3.5.7"		if BR2_KERNEL_HEADERS_3_5
 	default "3.6.11"	if BR2_KERNEL_HEADERS_3_6
 	default "3.7.10"	if BR2_KERNEL_HEADERS_3_7
 	default "3.8.13"	if BR2_KERNEL_HEADERS_3_8