Skip to contentSkip to conversation

Remove some deprecated packages

PATCH New Thomas De Schampheleire 2 participants 6 messages Dec 23, 2013 – Dec 28, 2013 SquashFS file system

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 Remove some deprecated packages

All,

Here is the feature-removal-schedule, updated, and two removals of deprecated features.

I did not yet remove LZMA: it is still used for filesystem image compression. Is this also deprecated, or is only the target package deprecated?

Thanks,
Thomas

---
 Config.in.legacy                                       |  24 +++++++
 docs/manual/appendix.txt                               |   6 +-
 feature-removal-schedule.txt                           |  43 ++++++++++++++
 fs/squashfs/Config.in                                  |  16 -----
 fs/squashfs/squashfs.mk                                |  12 ---
 package/Config.in                                      |   2 -
 package/squashfs3/Config.in                            |  12 ---
 package/squashfs3/squashfs3-3.4-build-system-fix.patch |  37 ------------
 package/squashfs3/squashfs3-3.4-get_nprocs.patch       |  33 ----------
 package/squashfs3/squashfs3.mk                         |  34 -----------
 package/ttcp/Config.in                                 |   7 --
 package/ttcp/ttcp-0001-replace-deprecated-bcopy.patch  |  15 ----
 package/ttcp/ttcp.mk                                   |  25 --------
 13 files changed, 72 insertions(+), 194 deletions(-)
#1 lore raw

PATCH v2 1/1 Add feature removal schedule for deprecated features

This patch adds a new file feature-removal-schedule.txt that lists the deprecated features in buildroot, and from when they can be removed.

The guideline used is that a deprecated feature will remain available for four buildroot releases before it can be removed. For example if a feature is deprecated in the context of 2013.05, it is still available in 2013.05, 2013.08, 2013.11 and 2014.02. It can then be removed from 2014.05 onwards.

When additional config options are deprecated (for example kernel headers, packages, ...) they should be added to the list. When deprecated items are removed, they should be removed from the list.

---
v2: remove netkitbase/netkittelnet from list (removed by arnaud)

 docs/manual/appendix.txt     |   6 +++-
 feature-removal-schedule.txt |  50 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 1 deletions(-)

This guideline, and the initial list of deprecated features with the date they were deprecated, was taken from Arnout Vandecappelle's input in [1] (thanks!). The list was updated with the deprecated mips architectures.

[1] http://lists.busybox.net/pipermail/buildroot/2013-November/083024.html

docs/manual/appendix.txt +5 -1
@@ -29,6 +29,10 @@ Deprecated features
 -------------------
 
 The following features are marked as _deprecated_ in Buildroot due to
-their status either too old or unmaintained.
+them being either too old or unmaintained. They will be removed at
+some point (no earlier than a year after deprecation) so you should
+stop using them. Refer to file +feature-removal-schedule.txt+
+in the Buildroot sources for an indication of when these features can
+be removed.
 
 include::deprecated-list.txt[]
feature-removal-schedule.txt new file +50 -0

50 lines not on this page · raw message

#2 lore raw

PATCH v2 1/1 Add feature removal schedule for deprecated features

Dear Thomas De Schampheleire,

feature-removal-schedule.txt

Quoted 47 lines · Thomas De Schampheleire

This patch adds a new file feature-removal-schedule.txt that lists the deprecated features in buildroot, and from when they can be removed.

The guideline used is that a deprecated feature will remain available for four buildroot releases before it can be removed. For example if a feature is deprecated in the context of 2013.05, it is still available in 2013.05, 2013.08, 2013.11 and 2014.02. It can then be removed from 2014.05 onwards.

When additional config options are deprecated (for example kernel headers, packages, ...) they should be added to the list. When deprecated items are removed, they should be removed from the list.

---
v2: remove netkitbase/netkittelnet from list (removed by arnaud)

 docs/manual/appendix.txt     |   6 +++-
 feature-removal-schedule.txt |  50 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 1 deletions(-)

This guideline, and the initial list of deprecated features with the date they were deprecated, was taken from Arnout Vandecappelle's input in [1] (thanks!). The list was updated with the deprecated mips architectures.

[1] http://lists.busybox.net/pipermail/buildroot/2013-November/083024.html

docs/manual/appendix.txt +5 -1
@@ -29,6 +29,10 @@ Deprecated features
 -------------------
 
 The following features are marked as _deprecated_ in Buildroot due to
-their status either too old or unmaintained.
+them being either too old or unmaintained. They will be removed at
+some point (no earlier than a year after deprecation) so you should
+stop using them. Refer to file +feature-removal-schedule.txt+
+in the Buildroot sources for an indication of when these features can
+be removed.
 
 include::deprecated-list.txt[]
feature-removal-schedule.txt new file +0 -0
new file mode 100644

I'm not a big fan of having this file in the top-level directory of Buildroot. To me, this file is really meant for Buildroot developers to keep track of things to remove, and when. I'm not sure making this file highly visible to users by putting it in the top-level directory is very useful.

Maybe in support/ ? docs/ would have been a good place, but it only contains our web site, so it would be weird to mix things.

feature-removal-schedule.txt line 9

Quoted 10 lines
feature-removal-schedule.txt new file +9 -0
@@ -0,0 +1,50 @@
+This file contains a list of deprecated features/packages in buildroot, and when
+they were deprecated. In general, deprecated features will remain available for
+at least four buildroot releases (one year). After this time, no guarantees are
+made.
+
+Note that several features/packages have been deprecated for a long time and
+should have been removed right now. Expect this to be corrected soon.
+
+

One too many new line.

feature-removal-schedule.txt line 12

Quoted 3 lines
feature-removal-schedule.txt new file +3 -0
+To be removed in 2011.05:
+BR2_PACKAGE_SQUASHFS3
+BR2_TARGET_ROOTFS_SQUASHFS3

Nitpicking, but even though this file is a plain text file, it would be nice to use some bullet lists:

To be removed in 2011.05:
* BR2_PACKAGE_<bleh>

Thanks!

Thomas

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

PATCH v2 1/1 Add feature removal schedule for deprecated features

Hi Thomas,

On Fri, Dec 27, 2013 at 8:03 PM, Thomas Petazzoni
<[email protected]> wrote:
[..]

Quoted 13 lines

feature-removal-schedule.txt

Quoted 6 lines

include::deprecated-list.txt[]

feature-removal-schedule.txt new file +0 -0
new file mode 100644

I'm not a big fan of having this file in the top-level directory of Buildroot. To me, this file is really meant for Buildroot developers to keep track of things to remove, and when. I'm not sure making this file highly visible to users by putting it in the top-level directory is very useful.

Quoted 2 lines

Maybe in support/ ? docs/ would have been a good place, but it only contains our web site, so it would be weird to mix things.

I considered this file to be relevant not only for developers, but also for users: it tells them when these deprecated features will/can be removed. Previously, this could be several years, but now it should be clear for everyone that we intend to remove deprecated features after one year.

But it doesn't need to be at top-level for me, we can move it elsewhere. support/ is fine for me.
An alternative is to make it part of the manual, thus in asciidoc format. I'm not sure how to integrate this with the automatically generated list of deprecated features; probably just replace the automatic one with a manual one.

Yet another alternative is to annotate the Config.in files themselves with an indication of the removal date, so that the automatic list can include the date as well. This could be with a new set of symbols BR2_DEPRECATED_GONE_IN_2012.11 for example, and a deprecated package would then depend on this new symbol instead of BR2_DEPRECATED directly. The new set of symbols would then each select/depend on BR2_DEPRECATED.

Quoted 13 lines

feature-removal-schedule.txt line 9

Quoted 11 lines
feature-removal-schedule.txt new file +9 -0
@@ -0,0 +1,50 @@
+This file contains a list of deprecated features/packages in buildroot, and when
+they were deprecated. In general, deprecated features will remain available for
+at least four buildroot releases (one year). After this time, no guarantees are
+made.
+
+Note that several features/packages have been deprecated for a long time and
+should have been removed right now. Expect this to be corrected soon.
+
+

One too many new line.

This was intentional, but I will remove it.

Quoted 10 lines

feature-removal-schedule.txt line 12

Quoted 4 lines
feature-removal-schedule.txt new file +3 -0
+To be removed in 2011.05:
+BR2_PACKAGE_SQUASHFS3
+BR2_TARGET_ROOTFS_SQUASHFS3

Nitpicking, but even though this file is a plain text file, it would be nice to use some bullet lists:

To be removed in 2011.05:
* BR2_PACKAGE_<bleh>

Ok, will change.

Thanks for your feedback,
Thomas

#4 lore raw

PATCH v2 1/1 squashfs3: remove deprecated package/rootfs

In reply to Thomas De Schampheleire

---
Note: I did not add a legacy entry for BR2_TARGET_ROOTFS_SQUASHFS4 because it's simply removed, its role now played by the parent BR2_TARGET_ROOTFS_SQUASHFS. Therefore, I don't think we need legacy symbols in this case, right?

 Config.in.legacy                                       |  17 ++++++
 feature-removal-schedule.txt                           |   4 -
 fs/squashfs/Config.in                                  |  16 ------
 fs/squashfs/squashfs.mk                                |  12 ----
 package/Config.in                                      |   1 -
 package/squashfs3/Config.in                            |  12 ----
 package/squashfs3/squashfs3-3.4-build-system-fix.patch |  37 --------------
 package/squashfs3/squashfs3-3.4-get_nprocs.patch       |  33 ------------
 package/squashfs3/squashfs3.mk                         |  34 ------------
 9 files changed, 17 insertions(+), 149 deletions(-)
Config.in.legacy +17 -0
@@ -101,6 +101,23 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2014.02"
 
+config BR2_PACKAGE_SQUASHFS3
+	bool "squashfs3 has been removed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_SQUASHFS
+	help
+	  The 'squashfs3' package has been removed since it has been
+	  deprecated for more than four buildroot releases. Package
+	  'squashfs' (4) has been selected automatically as replacement.
+
+config BR2_TARGET_ROOTFS_SQUASHFS3
+	bool "squashfs3 rootfs support has been removed"
+	select BR2_LEGACY
+	help
+	  Together with the removal of the squashfs3 package, support
+	  for squashfs3 root filesystems has been removed too. Squashfs
+	  root filesystems will automatically use squashfs4 now.
+
 config BR2_PACKAGE_NETKITBASE
 	bool "netkitbase has been removed"
 	select BR2_LEGACY
feature-removal-schedule.txt +0 -4
@@ -7,10 +7,6 @@ Note that several features/packages have
 should have been removed right now. Expect this to be corrected soon.
 
 
-To be removed in 2011.05:
-BR2_PACKAGE_SQUASHFS3
-BR2_TARGET_ROOTFS_SQUASHFS3
-
 To be removed in 2011.11:
 BR2_PACKAGE_LZMA
 
fs/squashfs/Config.in +0 -16
@@ -4,26 +4,10 @@ config BR2_TARGET_ROOTFS_SQUASHFS
 	  Build a squashfs root filesystem
 
 if BR2_TARGET_ROOTFS_SQUASHFS
-choice
-	prompt "SquashFS version"
-	default BR2_TARGET_ROOTFS_SQUASHFS4
-	help
-	  Select the Squash filesystem version to use to generate the
-	  root filesystem.
-
-config BR2_TARGET_ROOTFS_SQUASHFS4
-	bool "4.x"
-
-config BR2_TARGET_ROOTFS_SQUASHFS3
-	depends on BR2_DEPRECATED
-	bool "3.x"
-
-endchoice
 
 choice
 	prompt "Compression algorithm"
 	default BR2_TARGET_ROOTFS_SQUASHFS4_GZIP
-	depends on BR2_TARGET_ROOTFS_SQUASHFS4
 	help
 	  Select the squashfs compression algorithm to use when
 	  generating the filesystem.
fs/squashfs/squashfs.mk +0 -12
@@ -4,7 +4,6 @@
 #
 ################################################################################
 
-ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4),y)
 ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs
 
 ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZO),y)
@@ -21,17 +20,6 @@ endif
 endif
 endif
 
-else
-ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs3
-
-ifeq ($(BR2_ENDIAN),"BIG")
-ROOTFS_SQUASHFS_ARGS=-be
-else
-ROOTFS_SQUASHFS_ARGS=-le
-endif
-
-endif
-
 define ROOTFS_SQUASHFS_CMD
 	$(HOST_DIR)/usr/bin/mksquashfs $(TARGET_DIR) $@ -noappend \
 		$(ROOTFS_SQUASHFS_ARGS) && \
package/Config.in +0 -1
@@ -146,7 +146,6 @@ source "package/mtd/Config.in"
 source "package/nfs-utils/Config.in"
 source "package/ntfs-3g/Config.in"
 source "package/squashfs/Config.in"
-source "package/squashfs3/Config.in"
 source "package/sshfs/Config.in"
 source "package/sunxi-tools/Config.in"
 source "package/unionfs/Config.in"
package/squashfs3/Config.in deleted +0 -12
deleted file mode 100644
@@ -1,12 +0,0 @@
-config BR2_PACKAGE_SQUASHFS3
-	bool "squashfs3"
-	depends on BR2_DEPRECATED
-	depends on BR2_LARGEFILE
-	help
-	  Tools to generate SquashFS 3.x filesystems.
-
-	  http://squashfs.sourceforge.net/
-
-comment "squashfs3 needs a toolchain w/ largefile"
-	depends on BR2_DEPRECATED
-	depends on !BR2_LARGEFILE
package/squashfs3/squashfs3-3.4-build-system-fix.patch deleted +0 -37
deleted file mode 100644
@@ -1,37 +0,0 @@
-[PATCH]: squashfs-tools: Handle user supplied CFLAGS/LDFLAGS
-
-Properly handle make CFLAGS=.. LDFLAGS=..
-
-Signed-off-by: Peter Korsgaard <[email protected]>
----
- squashfs-tools/Makefile |    4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: squashfs3.4/squashfs-tools/Makefile
-===================================================================
---- squashfs3.4.orig/squashfs-tools/Makefile	2008-08-26 09:10:13.000000000 +0200
-+++ squashfs3.4/squashfs-tools/Makefile	2010-05-06 21:09:28.000000000 +0200
-@@ -2,12 +2,12 @@
- 
- INCLUDEDIR = .
- 
--CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2
-+override CFLAGS += -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2
- 
- all: mksquashfs unsquashfs
- 
- mksquashfs: mksquashfs.o read_fs.o sort.o
--	$(CC) mksquashfs.o read_fs.o sort.o -lz -lpthread -lm -o $@
-+	$(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o -lz -lpthread -lm -o $@
- 
- mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
- 
-@@ -16,7 +16,7 @@
- sort.o: sort.c squashfs_fs.h global.h sort.h
- 
- unsquashfs: unsquashfs.o
--	$(CC) unsquashfs.o -lz -lpthread -lm -o $@
-+	$(CC) $(LDFLAGS) unsquashfs.o -lz -lpthread -lm -o $@
- 
- unsquashfs.o: unsquashfs.c squashfs_fs.h read_fs.h global.h
- 
package/squashfs3/squashfs3-3.4-get_nprocs.patch deleted +0 -33
deleted file mode 100644
@@ -1,33 +0,0 @@
-squashfs3: fix build with uClibc
-
-The squashfs3 package uses the old get_nprocs() GNU extension which does not
-exist in uClibc. This has already been fixed in newer squashfs releases
-(>=4.0).
-
-Signed-off-by: Markos Chandras <[email protected]>
-Index: squashfs3-3.4/squashfs-tools/mksquashfs.c
-===================================================================
---- squashfs3-3.4.orig/squashfs-tools/mksquashfs.c
-+++ squashfs3-3.4/squashfs-tools/mksquashfs.c
-@@ -3178,7 +3178,7 @@ void initialise_threads()
- 			processors = 1;
- 		}
- #else
--		processors = get_nprocs();
-+		processors = sysconf(_SC_NPROCESSORS_CONF);
- #endif
- 	}
- 
-Index: squashfs3-3.4/squashfs-tools/unsquashfs.c
-===================================================================
---- squashfs3-3.4.orig/squashfs-tools/unsquashfs.c
-+++ squashfs3-3.4/squashfs-tools/unsquashfs.c
-@@ -2428,7 +2428,7 @@ void initialise_threads(int fragment_buf
- 			processors = 1;
- 		}
- #else
--		processors = get_nprocs();
-+		processors = sysconf(_SC_NPROCESSORS_CONF);
- #endif
- 	}
- 
package/squashfs3/squashfs3.mk deleted +0 -34
deleted file mode 100644
@@ -1,34 +0,0 @@
-################################################################################
-#
-# squashfs3
-#
-################################################################################
-
-SQUASHFS3_VERSION = 3.4
-SQUASHFS3_SOURCE = squashfs$(SQUASHFS3_VERSION).tar.gz
-SQUASHFS3_SITE = http://downloads.sourceforge.net/project/squashfs/squashfs/$(SQUASHFS3_VERSION)
-
-SQUASHFS3_DEPENDENCIES = zlib
-
-define SQUASHFS3_BUILD_CMDS
- $(TARGET_MAKE_ENV) $(MAKE)    \
-   CC="$(TARGET_CC)"           \
-   CFLAGS="$(TARGET_CFLAGS)"   \
-   LDFLAGS="$(TARGET_LDFLAGS)" \
-   -C $(@D)/squashfs-tools/
-endef
-
-define SQUASHFS3_INSTALL_TARGET_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/squashfs-tools/ INSTALL_DIR=$(TARGET_DIR)/usr/bin install
-endef
-
-define HOST_SQUASHFS3_BUILD_CMDS
- $(HOST_MAKE_ENV) $(MAKE) CFLAGS="$(HOST_CFLAGS)" LDFLAGS="$(HOST_LDFLAGS)" -C $(@D)/squashfs-tools/
-endef
-
-define HOST_SQUASHFS3_INSTALL_CMDS
- $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/squashfs-tools/ INSTALL_DIR=$(HOST_DIR)/usr/bin install
-endef
-
-$(eval $(generic-package))
-$(eval $(host-generic-package))
#5 lore raw

PATCH v2 1/1 ttcp: remove deprecated package

In reply to Thomas De Schampheleire
---
 Config.in.legacy                                      |   7 ++++
 feature-removal-schedule.txt                          |   3 -
 package/Config.in                                     |   1 -
 package/ttcp/Config.in                                |   7 ----
 package/ttcp/ttcp-0001-replace-deprecated-bcopy.patch |  15 ---------
 package/ttcp/ttcp.mk                                  |  25 ---------------
 6 files changed, 7 insertions(+), 51 deletions(-)
Config.in.legacy +7 -0
@@ -101,6 +101,13 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2014.02"
 
+config BR2_PACKAGE_TTCP
+	bool "ttcp has been removed"
+	select BR2_LEGACY
+	help
+	  The 'ttcp' package has been removed since it has been
+	  deprecated for more than four buildroot releases.
+
 config BR2_PACKAGE_SQUASHFS3
 	bool "squashfs3 has been removed"
 	select BR2_LEGACY
feature-removal-schedule.txt +0 -3
@@ -10,9 +10,6 @@ should have been removed right now. Expe
 To be removed in 2011.11:
 BR2_PACKAGE_LZMA
 
-To be removed in 2013.05:
-BR2_PACKAGE_TTCP
-
 To be removed in 2013.11:
 BR2_HAVE_DOCUMENTATION
 BR2_PACKAGE_PKG_CONFIG
package/Config.in +0 -1
@@ -910,7 +910,6 @@ source "package/thttpd/Config.in"
 source "package/tinyhttpd/Config.in"
 source "package/tn5250/Config.in"
 source "package/transmission/Config.in"
-source "package/ttcp/Config.in"
 source "package/tvheadend/Config.in"
 source "package/udpcast/Config.in"
 source "package/ulogd/Config.in"
package/ttcp/Config.in deleted +0 -7
deleted file mode 100644
@@ -1,7 +0,0 @@
-config BR2_PACKAGE_TTCP
-	bool "ttcp"
-	depends on BR2_DEPRECATED
-	help
-	  Benchmarking tool for determining TCP and UDP performance.
-
-	  ftp://ftp.sgi.com/sgi/src/ttcp/README
package/ttcp/ttcp-0001-replace-deprecated-bcopy.patch deleted +0 -15
deleted file mode 100644
@@ -1,15 +0,0 @@
-Replace deprecated bcopy call by using memmove instead.
-
-Index: b/ttcp.c
-===================================================================
---- a/ttcp.c
-+++ b/ttcp.c
-@@ -241,7 +241,7 @@
- 			if ((addr=gethostbyname(host)) == NULL)
- 				err("bad hostname");
- 			sinhim.sin_family = addr->h_addrtype;
--			bcopy(addr->h_addr,(char*)&addr_tmp, addr->h_length);
-+			memmove((char*)&addr_tmp, addr->h_addr, addr->h_length);
- #if defined(cray)
- 			sinhim.sin_addr = addr_tmp;
- #else
package/ttcp/ttcp.mk deleted +0 -25
deleted file mode 100644
@@ -1,25 +0,0 @@
-################################################################################
-#
-# ttcp
-#
-################################################################################
-
-TTCP_VERSION = 1.12
-TTCP_SITE    = ftp://ftp.sgi.com/sgi/src/ttcp/
-TTCP_SOURCE  = ttcp.c
-TTCP_LICENSE = public domain
-
-define TTCP_EXTRACT_CMDS
-	cp -f -t $(@D) $(DL_DIR)/$(TTCP_SOURCE)
-endef
-
-define TTCP_BUILD_CMDS
-	$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) \
-		-o $(@D)/ttcp $(@D)/$(TTCP_SOURCE)
-endef
-
-define TTCP_INSTALL_TARGET_CMDS
-	$(INSTALL) -D -m 0755 $(@D)/ttcp $(TARGET_DIR)/usr/bin/ttcp
-endef
-
-$(eval $(generic-package))