Skip to contentSkip to conversation

package: add hwloc 1.10.1

PATCH Superseded Steven Noonan 4 participants 19 messages Mar 19, 2015 – Jul 18, 2015

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package: add hwloc 1.10.1

---
 package/Config.in        |  1 +
 package/hwloc/Config.in  |  8 ++++++++
 package/hwloc/hwloc.hash |  2 ++
 package/hwloc/hwloc.mk   | 14 ++++++++++++++
 4 files changed, 25 insertions(+)
 create mode 100644 package/hwloc/Config.in
 create mode 100644 package/hwloc/hwloc.hash
 create mode 100644 package/hwloc/hwloc.mk
package/Config.in +1 -0
index 96e373a..4ee489c 100644
@@ -331,6 +331,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/hdparm/Config.in"
 endif
 	source "package/hwdata/Config.in"
+	source "package/hwloc/Config.in"
 	source "package/i2c-tools/Config.in"
 	source "package/input-event-daemon/Config.in"
 	source "package/input-tools/Config.in"
package/hwloc/Config.in new file +8 -0
new file mode 100644
index 0000000..069bc8b
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HWLOC
+	bool "hwloc"
+	select BR2_PACKAGE_LIBPCIACCESS
+	select BR2_PACKAGE_NUMACTL
+	help
+	  Portable Hrdware Locality
+
+	  http://www.open-mpi.org/projects/hwloc/
package/hwloc/hwloc.hash new file +2 -0
new file mode 100644
index 0000000..8d25904
@@ -0,0 +1,2 @@
+# From http://www.open-mpi.org/software/hwloc/v1.10/downloads/hwloc-1.10.1.tar.bz2
+sha1	76291124e4638b2fbd4deb4cc3cd680e153077b5	hwloc-1.10.1.tar.bz2
package/hwloc/hwloc.mk new file +14 -0
new file mode 100644
index 0000000..ced3627
@@ -0,0 +1,14 @@
+################################################################################
+#
+# hwloc
+#
+################################################################################
+
+HWLOC_VERSION = 1.10.1
+HWLOC_SOURCE = hwloc-$(HWLOC_VERSION).tar.bz2
+HWLOC_SITE = http://www.open-mpi.org/software/hwloc/v1.10/downloads
+HWLOC_DEPENDENCIES = libpciaccess numactl
+HWLOC_LICENSE = BSD-3c
+HWLOC_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))
Signature · 1 line
2.3.3
#1 lore raw

PATCH 1/1 package: add powertop 2.7

---
 package/Config.in                        |  1 +
 package/powertop/Config.in               |  9 +++++++++
 package/powertop/powertop-autotune.patch |  9 +++++++++
 package/powertop/powertop.hash           |  2 ++
 package/powertop/powertop.mk             | 14 ++++++++++++++
 5 files changed, 35 insertions(+)
 create mode 100644 package/powertop/Config.in
 create mode 100644 package/powertop/powertop-autotune.patch
 create mode 100644 package/powertop/powertop.hash
 create mode 100644 package/powertop/powertop.mk
package/Config.in +1 -0
index 4ee489c..c938326 100644
@@ -365,6 +365,7 @@ endif
 	source "package/pciutils/Config.in"
 	source "package/picocom/Config.in"
 	source "package/pifmrds/Config.in"
+	source "package/powertop/Config.in"
 	source "package/pps-tools/Config.in"
 	source "package/read-edid/Config.in"
 	source "package/rng-tools/Config.in"
package/powertop/Config.in new file +9 -0
new file mode 100644
index 0000000..0e83c8f
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_POWERTOP
+	bool "powertop"
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_PCIUTILS
+	select BR2_PACKAGE_LIBNL
+	help
+	  A tool to diagnose issues with power consumption and power management
+
+	  https://01.org/powertop/
package/powertop/powertop-autotune.patch new file +9 -0
new file mode 100644
index 0000000..23d6433
@@ -0,0 +1,9 @@
+--- a/src/devices/devfreq.cpp
++++ b/src/devices/devfreq.cpp
+@@ -247,6 +247,7 @@ void create_all_devfreq_devices(void)
+		fprintf(stderr, "Devfreq not enabled\n");
+		is_enabled = false;
+		closedir(dir);
++		dir = NULL;
+		return;
+	}
package/powertop/powertop.hash new file +2 -0
new file mode 100644
index 0000000..b26ae80
@@ -0,0 +1,2 @@
+# From https://01.org/sites/default/files/downloads/powertop/powertop-2.7.tar.gz
+sha256	8d4b1490e2baad4467c0ded3c423db4472dcbf7b2dd8f8f2a928f54047c678ca	powertop-2.7.tar.gz
package/powertop/powertop.mk new file +14 -0
new file mode 100644
index 0000000..337688a
@@ -0,0 +1,14 @@
+################################################################################
+#
+# powertop
+#
+################################################################################
+
+POWERTOP_VERSION = 2.7
+POWERTOP_SOURCE = powertop-$(POWERTOP_VERSION).tar.gz
+POWERTOP_SITE = https://01.org/sites/default/files/downloads/powertop/
+POWERTOP_DEPENDENCIES = pciutils ncurses libnl
+POWERTOP_LICENSE = GPLv2
+POWERTOP_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))
Signature · 1 line
2.3.3
#2 lore raw

PATCH 1/1 package: add powertop 2.7

Hi Steven,

package/powertop/Config.in line 5

Quoted 11 lines · Steven Noonan
package/powertop/Config.in new file +5 -0
new file mode 100644
index 0000000..0e83c8f
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_POWERTOP
+	bool "powertop"
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_PCIUTILS
+	select BR2_PACKAGE_LIBNL

Dependencies propagation.

package/powertop/powertop-autotune.patch line 2

Quoted 12 lines
package/powertop/Config.in new file +4 -0
+	help
+	  A tool to diagnose issues with power consumption and power management
+
+	  https://01.org/powertop/
package/powertop/powertop-autotune.patch new file +2 -0
new file mode 100644
index 0000000..23d6433
@@ -0,0 +1,9 @@
+--- a/src/devices/devfreq.cpp
++++ b/src/devices/devfreq.cpp

Please add a description and your sing-off here.

Quoted 13 lines
package/powertop/powertop-autotune.patch new file +7 -0
+@@ -247,6 +247,7 @@ void create_all_devfreq_devices(void)
+		fprintf(stderr, "Devfreq not enabled\n");
+		is_enabled = false;
+		closedir(dir);
++		dir = NULL;
+		return;
+	}
package/powertop/powertop.hash new file +0 -0
new file mode 100644
index 0000000..b26ae80

package/powertop/powertop.hash line 1

Quoted 1 line
package/powertop/powertop.hash new file +1 -0
@@ -0,0 +1,2 @@
+# From https://01.org/sites/default/files/downloads/powertop/powertop-2.7.tar.gz

Hash origin.

Quoted 7 lines
package/powertop/powertop.hash new file +1 -0
+sha256	8d4b1490e2baad4467c0ded3c423db4472dcbf7b2dd8f8f2a928f54047c678ca	powertop-2.7.tar.gz
package/powertop/powertop.mk new file +0 -0
new file mode 100644
index 0000000..337688a

package/powertop/powertop.mk line 8

Quoted 8 lines
package/powertop/powertop.mk new file +8 -0
@@ -0,0 +1,14 @@
+################################################################################
+#
+# powertop
+#
+################################################################################
+
+POWERTOP_VERSION = 2.7
+POWERTOP_SOURCE = powertop-$(POWERTOP_VERSION).tar.gz

This is the default. Please remove.

package/powertop/powertop.mk line 14

Quoted 6 lines
package/powertop/powertop.mk new file +6 -0
+POWERTOP_SITE = https://01.org/sites/default/files/downloads/powertop/
+POWERTOP_DEPENDENCIES = pciutils ncurses libnl
+POWERTOP_LICENSE = GPLv2
+POWERTOP_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#3 lore raw

PATCH 1/1 package: add shadow 4.2.1

In reply to Steven Noonan
---
 package/Config.in                                 |   1 +
 package/shadow/Config.in                          |  10 +
 package/shadow/chgpasswd.pam                      |   4 +
 package/shadow/chpasswd.pam                       |   6 +
 package/shadow/newusers.pam                       |   6 +
 package/shadow/passwd.pam                         |   4 +
 package/shadow/remove-util-linux-conflicts.patch  | 642 ++++++++++++++++++++++
 package/shadow/shadow-4.2.1-subordinate-ids.patch |  34 ++
 package/shadow/shadow-strncpy-usage.patch         |  25 +
 package/shadow/shadow.hash                        |   1 +
 package/shadow/shadow.mk                          |  43 ++
 package/shadow/xstrdup.patch                      |   9 +
 12 files changed, 785 insertions(+)
 create mode 100644 package/shadow/Config.in
 create mode 100644 package/shadow/chgpasswd.pam
 create mode 100644 package/shadow/chpasswd.pam
 create mode 100644 package/shadow/newusers.pam
 create mode 100644 package/shadow/passwd.pam
 create mode 100644 package/shadow/remove-util-linux-conflicts.patch
 create mode 100644 package/shadow/shadow-4.2.1-subordinate-ids.patch
 create mode 100644 package/shadow/shadow-strncpy-usage.patch
 create mode 100644 package/shadow/shadow.hash
 create mode 100644 package/shadow/shadow.mk
 create mode 100644 package/shadow/xstrdup.patch
package/Config.in +1 -0
index c938326..c557010 100644
@@ -1341,6 +1341,7 @@ endif
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/rsyslog/Config.in"
 endif
+	source "package/shadow/Config.in"
 	source "package/smack/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/start-stop-daemon/Config.in"
package/shadow/Config.in new file +10 -0
new file mode 100644
index 0000000..0c3d6e1
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_SHADOW
+	bool "shadow"
+	select BR2_PACKAGE_ACL
+	select BR2_PACKAGE_LINUX_PAM
+	select BR2_PACKAGE_UTIL_LINUX
+	help
+	  Password and account management tool suite with support for shadow files
+	  and PAM
+
+	  http://pkg-shadow.alioth.debian.org/
package/shadow/chgpasswd.pam new file +4 -0
new file mode 100644
index 0000000..8f49f5c
@@ -0,0 +1,4 @@
+#%PAM-1.0
+auth		sufficient	pam_rootok.so
+account		required	pam_permit.so
+password	include		system-auth
package/shadow/chpasswd.pam new file +6 -0
new file mode 100644
index 0000000..5d44798
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth		sufficient	pam_rootok.so
+auth		required	pam_unix.so
+account		required	pam_unix.so
+session		required	pam_unix.so
+password 	required 	pam_unix.so sha512 shadow
package/shadow/newusers.pam new file +6 -0
new file mode 100644
index 0000000..5d44798
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth		sufficient	pam_rootok.so
+auth		required	pam_unix.so
+account		required	pam_unix.so
+session		required	pam_unix.so
+password 	required 	pam_unix.so sha512 shadow
package/shadow/passwd.pam new file +4 -0
new file mode 100644
index 0000000..ab56da4
@@ -0,0 +1,4 @@
+#%PAM-1.0
+#password	required	pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
+#password	required	pam_unix.so sha512 shadow use_authtok
+password	required	pam_unix.so sha512 shadow nullok
package/shadow/remove-util-linux-conflicts.patch new file +642 -0

642 lines not on this page · raw message

package/shadow/shadow-4.2.1-subordinate-ids.patch new file +34 -0
new file mode 100644
index 0000000..4ed6bb5
@@ -0,0 +1,34 @@
+diff --git a/configure.in b/configure.in
+index a55f125..26bee47 100644
+--- a/configure.in
++++ b/configure.in
+@@ -331,28 +331,8 @@ if test "$enable_man" = "yes"; then
+ fi
+ AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test "x$enable_man" != "xno")
+
+-if test "$enable_subids" != "no"; then
+-	dnl
+-	dnl FIXME: check if 32 bit UIDs/GIDs are supported by libc
+-	dnl
+-	AC_RUN_IFELSE([AC_LANG_SOURCE([
+-#include <sys/types.h>
+-int main(void) {
+-	uid_t u;
+-	gid_t g;
+-	return (sizeof u < 4) || (sizeof g < 4);
+-}
+-	])], [id32bit="yes"], [id32bit="no"])
+-
+-	if test "x$id32bit" = "xyes"; then
+-		AC_DEFINE(ENABLE_SUBIDS, 1, [Define to support the subordinate IDs.])
+-		enable_subids="yes"
+-	else
+-		if test "x$enable_subids" = "xyes"; then
+-			AC_MSG_ERROR([Cannot enable support the subordinate IDs on systems where gid_t or uid_t has less than 32 bits])
+-		fi
+-		enable_subids="no"
+-	fi
++if test "x$enable_subids" != "xno"; then
++	AC_DEFINE(ENABLE_SUBIDS, 1, [Define to support the subordinate IDs.])
+ fi
+ AM_CONDITIONAL(ENABLE_SUBIDS, test "x$enable_subids" != "xno")
package/shadow/shadow-strncpy-usage.patch new file +25 -0
new file mode 100644
index 0000000..dedb078
@@ -0,0 +1,25 @@
+diff -u shadow-4.1.5/src/usermod.c.orig shadow-4.1.5/src/usermod.c
+--- shadow-4.1.5/src/usermod.c.orig	2012-02-13 08:19:43.792146449 -0500
++++ shadow-4.1.5/src/usermod.c	2012-02-13 08:21:19.375114500 -0500
+@@ -182,7 +182,7 @@
+	struct tm *tp;
+
+	if (date < 0) {
+-		strncpy (buf, "never", maxsize);
++		strncpy (buf, "never", maxsize - 1);
+	} else {
+		time_t t = (time_t) date;
+		tp = gmtime (&t);
+diff -u shadow-4.1.5/src/login.c.orig shadow-4.1.5/src/login.c
+--- shadow-4.1.5/src/login.c.orig	2012-02-13 08:19:50.951994454 -0500
++++ shadow-4.1.5/src/login.c	2012-02-13 08:21:04.490430937 -0500
+@@ -752,7 +752,8 @@
+			          _("%s login: "), hostn);
+		} else {
+			strncpy (loginprompt, _("login: "),
+-			         sizeof (loginprompt));
++			         sizeof (loginprompt) - 1);
++			loginprompt[sizeof (loginprompt) - 1] = '\0';
+		}
+
+		retcode = pam_set_item (pamh, PAM_USER_PROMPT, loginprompt);
package/shadow/shadow.hash new file +1 -0
new file mode 100644
index 0000000..bab8583
@@ -0,0 +1 @@
+sha1	0917cbadd4ce0c7c36670e5ecd37bbed92e6d82d	shadow-4.2.1.tar.xz
package/shadow/shadow.mk new file +43 -0

43 lines not on this page · raw message

package/shadow/xstrdup.patch new file +9 -0
new file mode 100644
index 0000000..855e81c
@@ -0,0 +1,9 @@
+--- shadow-4.1.2.1/libmisc/xmalloc.c	2008-08-30 21:55:44.000000000 -0500
++++ shadow-4.1.2.1/libmisc/xmalloc.c.new	2008-08-30 21:55:36.000000000 -0500
+@@ -61,5 +61,6 @@
+
+ char *xstrdup (const char *str)
+ {
++	if(str == NULL) return NULL;
+	return strcpy (xmalloc (strlen (str) + 1), str);
+ }
Signature · 1 line
2.3.3
#4 lore raw

PATCH 1/1 package: add shadow 4.2.1

Steven,

On Wed, Mar 18, 2015 at 10:48 PM, Steven Noonan <[email protected]> wrote:

[...]

Quoted 18 lines
package/Config.in +1 -0
index c938326..c557010 100644
@@ -1341,6 +1341,7 @@ endif
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
        source "package/rsyslog/Config.in"
 endif
+       source "package/shadow/Config.in"
        source "package/smack/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
        source "package/start-stop-daemon/Config.in"
package/shadow/Config.in new file +0 -0
new file mode 100644
index 0000000..0c3d6e1

package/shadow/Config.in line 5

Quoted 5 lines
package/shadow/Config.in new file +5 -0
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_SHADOW
+       bool "shadow"
+       select BR2_PACKAGE_ACL
+       select BR2_PACKAGE_LINUX_PAM
+       select BR2_PACKAGE_UTIL_LINUX

Thanks for you contribution!

This package has already been submitted to the buildroot mailing list as part of the SELinux patchset. It can be found here:

http://patchwork.ozlabs.org/patch/427124/

I was curious to know why Shadow requires linux-pam and util-linux as these seem like large packages that I think should be optionally enabled. I believe that it will work with busybox in place of util-linux. If util-linux is required, could you give a explanation as to why util-linux is preferred over busybox's implementation? (Curious to know)

Quoted 5 lines
package/shadow/Config.in new file +5 -0
+       help
+         Password and account management tool suite with support for shadow files
+         and PAM
+
+         http://pkg-shadow.alioth.debian.org/

[...]

Quoted 27 lines
package/shadow/shadow.mk new file +21 -0
new file mode 100644
index 0000000..e2fd209
@@ -0,0 +1,43 @@
+################################################################################
+#
+# shadow
+#
+################################################################################
+
+SHADOW_VERSION = 4.2.1
+SHADOW_SITE = http://pkg-shadow.alioth.debian.org/releases/
+SHADOW_SOURCE = shadow-$(SHADOW_VERSION).tar.xz
+SHADOW_LICENSE = BSD-3c
+SHADOW_LICENSE_FILES = LICENCE
+SHADOW_AUTORECONF = YES
+SHADOW_CONF_OPTS = \
+       --sysconfdir=/etc \
+       --enable-subordinate-ids=yes \
+       --with-libpam \
+       --with-group-name-max-length=32 \
+       --without-selinux
+SHADOW_DEPENDENCIES = acl linux-pam util-linux
+
+define SHADOW_INSTALL_PAMFILES

package/shadow/shadow.mk line 31

Quoted 10 lines
package/shadow/shadow.mk new file +10 -0
+       $(INSTALL) -m 0644 package/shadow/chgpasswd.pam \
+               $(TARGET_DIR)/etc/pam.d/chgpasswd
+       $(INSTALL) -m 0644 package/shadow/chpasswd.pam \
+               $(TARGET_DIR)/etc/pam.d/chpasswd
+       $(INSTALL) -m 0644 package/shadow/newusers.pam \
+               $(TARGET_DIR)/etc/pam.d/newusers
+       $(INSTALL) -m 0644 package/shadow/passwd.pam \
+               $(TARGET_DIR)/etc/pam.d/passwd
+endef
+SHADOW_POST_INSTALL_TARGET_HOOKS += SHADOW_INSTALL_PAMFILES

To make shadow optionally dependent on linux-pam, these should only be install if linux-pam package is selected. The util-linux package has an example of this:

http://git.buildroot.net/buildroot/tree/package/util-linux/util-linux.mk#n139

package/shadow/shadow.mk line 41

Quoted 9 lines
package/shadow/shadow.mk new file +9 -0
+define SHADOW_PERMISSIONS
+       /usr/bin/chage f 4755 0 0 - - - - -
+       /usr/bin/expiry f 4755 0 0 - - - - -
+       /usr/bin/gpasswd f 4755 0 0 - - - - -
+       /usr/bin/newgidmap f 4755 0 0 - - - - -
+       /usr/bin/newuidmap f 4755 0 0 - - - - -
+       /usr/bin/passwd f 4755 0 0 - - - - -
+       /usr/bin/newgrp f 4755 0 0 - - - - -
+endef

Does the install stop not install these with the correct permissions? I believe that they should already be getting the correct permissions when 'make install' is getting called. This SHADOW_PERMISSIONS should be removed.

Would you be willing to take a look at the proposed patch above and rework this to make util-linux optional (or not need at all)? I think you have added useful features onto of this package that weren't a part of the originally proposed patch.

Thanks,
-Ryan

Signature · 5 lines
Ryan Barnett / Sr Software Engineer
Airborne Information Systems / Security Systems and Software
MS 131-100, C Ave NE, Cedar Rapids, IA, 52498, USA
ryan.barnett at rockwellcollins.com
www.rockwellcollins.com
#5 lore raw

PATCH 1/1 package: add shadow 4.2.1

In reply to Steven Noonan

Hello Steven,

Quoted 18 lines · Steven Noonan
---
 package/Config.in                                 |   1 +
 package/shadow/Config.in                          |  10 +
 package/shadow/chgpasswd.pam                      |   4 +
 package/shadow/chpasswd.pam                       |   6 +
 package/shadow/newusers.pam                       |   6 +
 package/shadow/passwd.pam                         |   4 +
 package/shadow/remove-util-linux-conflicts.patch  | 642 ++++++++++++++++++++++
 package/shadow/shadow-4.2.1-subordinate-ids.patch |  34 ++
 package/shadow/shadow-strncpy-usage.patch         |  25 +
 package/shadow/shadow.hash                        |   1 +
 package/shadow/shadow.mk                          |  43 ++
 package/shadow/xstrdup.patch                      |   9 +
 12 files changed, 785 insertions(+)
 create mode 100644 package/shadow/Config.in
 create mode 100644 package/shadow/chgpasswd.pam
 create mode 100644 package/shadow/chpasswd.pam
Quoted 8 lines
 create mode 100644 package/shadow/newusers.pam
 create mode 100644 package/shadow/passwd.pam
 create mode 100644 package/shadow/remove-util-linux-conflicts.patch
 create mode 100644 package/shadow/shadow-4.2.1-subordinate-ids.patch
 create mode 100644 package/shadow/shadow-strncpy-usage.patch
 create mode 100644 package/shadow/shadow.hash
 create mode 100644 package/shadow/shadow.mk
 create mode 100644 package/shadow/xstrdup.patch

Shortly after you submitted this patch, Ryan Barnett (in Cc) made a number of comments / asked some questions, but you never answered or posted a new version.

Ryan also mentioned that another proposal had been made for the shadow package, as part of the SELinux support. While the SELinux series is still on-going (some of it has been merged, some remains to be merged), the shadow package is no longer part of it.

Therefore, Steven and Ryan, if you still care about shadow, please resubmit a new version that addresses the different problems/questions.

In the mean time, I'll mark the patch as Changes Requested in patchwork.

Thanks,

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 package/numactl: upgrade to 2.0.10

In reply to Steven Noonan
---
 package/numactl/numactl.mk | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)
package/numactl/numactl.mk +3 -9
index f36a1b3..042f2d8 100644
@@ -4,17 +4,11 @@
 #
 ################################################################################
 
-NUMACTL_VERSION = 2.0.9
+NUMACTL_VERSION = 2.0.10
 NUMACTL_SITE = ftp://oss.sgi.com/www/projects/libnuma/download
 NUMACTL_LICENSE = LGPLv2.1 (libnuma), GPLv2 (programs)
 NUMACTL_LICENSE_FILES = README
 
-define NUMACTL_BUILD_CMDS
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
-endef
+NUMACTL_AUTORECONF = YES
 
-define NUMACTL_INSTALL_TARGET_CMDS
-	$(MAKE) prefix=$(TARGET_DIR) libdir=$(TARGET_DIR)/lib -C $(@D) install
-endef
-
-$(eval $(generic-package))
+$(eval $(autotools-package))
Signature · 1 line
2.3.3
#7 lore raw

PATCH 1/1 package/numactl: upgrade to 2.0.10

Hi Steven,

Quoted 1 line · Steven Noonan

This is a non trivial version bump. Please explain here that the package now uses the autotools infrastructure.

Quoted 12 lines
---
 package/numactl/numactl.mk | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)
package/numactl/numactl.mk +0 -0
index f36a1b3..042f2d8 100644
@@ -4,17 +4,11 @@
 #
 ################################################################################
 

package/numactl/numactl.mk line 12

Quoted 10 lines
package/numactl/numactl.mk +2 -4
-NUMACTL_VERSION = 2.0.9
+NUMACTL_VERSION = 2.0.10
 NUMACTL_SITE = ftp://oss.sgi.com/www/projects/libnuma/download
 NUMACTL_LICENSE = LGPLv2.1 (libnuma), GPLv2 (programs)
 NUMACTL_LICENSE_FILES = README
 
-define NUMACTL_BUILD_CMDS
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
-endef
+NUMACTL_AUTORECONF = YES

Why? Please add inline comment clarifying that.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#8 lore raw

PATCH 1/1 package/numactl: upgrade to 2.0.10

Quoted 26 lines · Baruch Siach

Hi Steven,

Quoted 1 line · Steven Noonan

This is a non trivial version bump. Please explain here that the package now uses the autotools infrastructure.

Quoted 18 lines
---
 package/numactl/numactl.mk | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)
package/numactl/numactl.mk +1 -1
index f36a1b3..042f2d8 100644
@@ -4,17 +4,11 @@
 #
 ################################################################################
 
-NUMACTL_VERSION = 2.0.9
+NUMACTL_VERSION = 2.0.10
 NUMACTL_SITE = ftp://oss.sgi.com/www/projects/libnuma/download
 NUMACTL_LICENSE = LGPLv2.1 (libnuma), GPLv2 (programs)
 NUMACTL_LICENSE_FILES = README
 
Quoted 6 lines

package/numactl/numactl.mk line 12

Quoted 4 lines
package/numactl/numactl.mk +1 -3
-define NUMACTL_BUILD_CMDS
-     $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
-endef
+NUMACTL_AUTORECONF = YES

Why? Please add inline comment clarifying that.

Fair enough. The reason is because the numactl tarball doesn't already contain a configure script, but does contain configure.ac, Makefile.am, etc. Will add a comment.

#9 lore raw

PATCH 1/1 package: add pacman 4.2.1

In reply to Steven Noonan

This is the Arch Linux package manager.

---
 package/Config.in        |  1 +
 package/pacman/Config.in | 18 ++++++++++++++++++
 package/pacman/pacman.mk | 14 ++++++++++++++
 3 files changed, 33 insertions(+)
 create mode 100644 package/pacman/Config.in
 create mode 100644 package/pacman/pacman.mk
package/Config.in +1 -0
index c557010..95ec454 100644
@@ -1261,6 +1261,7 @@ endmenu
 menu "Package managers"
 	source "package/ipkg/Config.in"
 	source "package/opkg/Config.in"
+	source "package/pacman/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/rpm/Config.in"
 endif
package/pacman/Config.in new file +18 -0
new file mode 100644
index 0000000..9c4ca66
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_PACMAN
+	bool "pacman"
+	depends on BR2_TOOLCHAIN_USES_GLIBC
+	select BR2_PACKAGE_LIBGPGME
+	select BR2_PACKAGE_LIBARCHIVE
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_OPENSSL
+	help
+	  Pacman is the package manager used by the Arch distribution. It is a
+	  frontend for the ALPM (Arch Linux Package Management) library.
+
+	  Pacman does not strive to "do everything." It will add, remove and
+	  upgrade packages in the system, and it will allow you to query the
+	  package database for installed packages, files and owners. It also
+	  attempts to handle dependencies automatically and can download
+	  packages from a remote server. Arch packages are simple archives, with
+	  .pkg.tar.gz extension for binary packages and .src.tar.gz for source
+	  packages.
package/pacman/pacman.mk new file +14 -0
new file mode 100644
index 0000000..e979adb
@@ -0,0 +1,14 @@
+################################################################################
+#
+# pacman
+#
+################################################################################
+
+PACMAN_VERSION = 4.2.1
+PACMAN_SITE = https://sources.archlinux.org/other/pacman
+PACMAN_SOURCES = pacman-$(PACMAN_VERSION).tar.gz
+PACMAN_DEPENDENCIES = glibc libarchive libcurl libgpgme openssl
+PACMAN_LICENSE = GPLv2
+PACMAN_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))
Signature · 1 line
2.3.3
#10 lore raw

PATCH 1/1 package: add pacman 4.2.1

Hi Steven,

package/pacman/Config.in line 3

Quoted 9 lines · Steven Noonan
package/pacman/Config.in new file +3 -0
new file mode 100644
index 0000000..9c4ca66
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_PACMAN
+	bool "pacman"
+	depends on BR2_TOOLCHAIN_USES_GLIBC

Why? Please explain in the commit log.

package/pacman/Config.in line 7

Quoted 4 lines
package/pacman/Config.in new file +4 -0
+	select BR2_PACKAGE_LIBGPGME
+	select BR2_PACKAGE_LIBARCHIVE
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_OPENSSL

Please propagate dependencies.

Quoted 17 lines
package/pacman/Config.in new file +11 -0
+	help
+	  Pacman is the package manager used by the Arch distribution. It is a
+	  frontend for the ALPM (Arch Linux Package Management) library.
+
+	  Pacman does not strive to "do everything." It will add, remove and
+	  upgrade packages in the system, and it will allow you to query the
+	  package database for installed packages, files and owners. It also
+	  attempts to handle dependencies automatically and can download
+	  packages from a remote server. Arch packages are simple archives, with
+	  .pkg.tar.gz extension for binary packages and .src.tar.gz for source
+	  packages.
package/pacman/pacman.mk new file +0 -0
new file mode 100644
index 0000000..e979adb

package/pacman/pacman.mk line 9

Quoted 9 lines
package/pacman/pacman.mk new file +9 -0
@@ -0,0 +1,14 @@
+################################################################################
+#
+# pacman
+#
+################################################################################
+
+PACMAN_VERSION = 4.2.1
+PACMAN_SITE = https://sources.archlinux.org/other/pacman
+PACMAN_SOURCES = pacman-$(PACMAN_VERSION).tar.gz

Default.

package/pacman/pacman.mk line 10

Quoted 1 line
package/pacman/pacman.mk new file +1 -0
+PACMAN_DEPENDENCIES = glibc libarchive libcurl libgpgme openssl

No need to explicitly depend on 'glibc'. glibc is part of the toolchain that is an implicit dependency of everything.

package/pacman/pacman.mk line 14

Quoted 4 lines
package/pacman/pacman.mk new file +4 -0
+PACMAN_LICENSE = GPLv2
+PACMAN_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#11 lore raw

PATCH 1/1 package: add pacman 4.2.1

In reply to Steven Noonan

Dear Steven Noonan,

Quoted 10 lines · Steven Noonan

This is the Arch Linux package manager.

---
 package/Config.in        |  1 +
 package/pacman/Config.in | 18 ++++++++++++++++++
 package/pacman/pacman.mk | 14 ++++++++++++++
 3 files changed, 33 insertions(+)
 create mode 100644 package/pacman/Config.in
 create mode 100644 package/pacman/pacman.mk

In addition to the comments made by Baruch, could you also include in the commit log a motivation for adding this package in Buildroot?

It seems a bit weird to package the package manager of another distro.

Thanks,

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 package: add pacman 4.2.1

Quoted 14 lines · Thomas Petazzoni

Dear Steven Noonan,

Quoted 10 lines · Steven Noonan

This is the Arch Linux package manager.

---
 package/Config.in        |  1 +
 package/pacman/Config.in | 18 ++++++++++++++++++
 package/pacman/pacman.mk | 14 ++++++++++++++
 3 files changed, 33 insertions(+)
 create mode 100644 package/pacman/Config.in
 create mode 100644 package/pacman/pacman.mk
Quoted 5 lines

In addition to the comments made by Baruch, could you also include in the commit log a motivation for adding this package in Buildroot?

It seems a bit weird to package the package manager of another distro.

Why do we have RPM then? :)

If we don't want it in there I have no problem maintaining it in my own tree.

#13 lore raw

PATCH 1/1 package: add pacman 4.2.1

Dear Steven Noonan,

Quoted 6 lines · Steven Noonan
Quoted 4 lines

In addition to the comments made by Baruch, could you also include in the commit log a motivation for adding this package in Buildroot?

It seems a bit weird to package the package manager of another distro.

Why do we have RPM then? :)

Well, to be honest I don't know how rpm compares to pacman. I believe the reason we have rpm and opkg is because some people might build their own binary packages (outside of Buildroot, since Buildroot doesn't allow building binary packages), and install them inside a Buildroot system.

Quoted 2 lines

If we don't want it in there I have no problem maintaining it in my own tree.

Well, it's that we don't want it, the package seems pretty simple, so it's not that a big issue. It's just that it's a bit unusual, and some explanations about the use case would be useful.

Thanks!

Thomas

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

PATCH 1/1 package: add pacman 4.2.1

Quoted 17 lines · Thomas Petazzoni

Dear Steven Noonan,

Quoted 6 lines · Steven Noonan
Quoted 4 lines

In addition to the comments made by Baruch, could you also include in the commit log a motivation for adding this package in Buildroot?

It seems a bit weird to package the package manager of another distro.

Why do we have RPM then? :)

Well, to be honest I don't know how rpm compares to pacman. I believe the reason we have rpm and opkg is because some people might build their own binary packages (outside of Buildroot, since Buildroot doesn't allow building binary packages), and install them inside a Buildroot system.

Quoted 7 lines
Quoted 2 lines

If we don't want it in there I have no problem maintaining it in my own tree.

Well, it's that we don't want it, the package seems pretty simple, so it's not that a big issue. It's just that it's a bit unusual, and some explanations about the use case would be useful.

OK, fair enough. Pacman is fairly generally applicable and could work fine for Buildroot (just as RPM could).

I have two distinct use cases:

- PXE Arch Linux installer ramdisks (ArchISO is a bit too big for my tastes)
- Minimalistic virtualization hosts

First, I'd like to use Buildroot to create a minimal PXE booted ramdisk to do automated Arch Linux installs -- in order to do that, I need pacman + the arch-install-scripts.

And second, which may be part of a larger discussion to have: I also envision Buildroot being used to create very stripped down Linux installs for virtualization hosts, i.e. kernel + bare minimum userspace + xen/kvm/lxc. Most Xen/KVM/LXC admins seem to use full desktop/server Linux installs on their virtualization hosts, but this is really unnecessary and often is disruptive to guest operating systems. I would contend people should really treat the privileged domain (host) as an embedded system, especially to avoid contention between guests and the host. For example, why would you want mandb or updatedb running via cron on your host when you'll never use the fruits of their labor there? All those do is consume resources that could otherwise be used by a guest, and introduce observable latencies in the guest environments. As for how this relates to Pacman: in order to act as a minimal LXC host, the various Linux distribution package managers are needed for 'lxc-create' with a template (e.g. Fedora has the Debian and Arch package managers available in their repositories, as odd as that may seem at first glance). In the case of KVM and Xen, you're just dealing with disk images, so it's not necessary to have the other distros' package managers.

#15 lore raw

PATCH 1/1 package: add mosh 1.2.4

In reply to Steven Noonan
---
 package/Config.in      |  1 +
 package/mosh/Config.in | 15 +++++++++++++++
 package/mosh/mosh.mk   | 14 ++++++++++++++
 3 files changed, 30 insertions(+)
 create mode 100644 package/mosh/Config.in
 create mode 100644 package/mosh/mosh.mk
package/Config.in +1 -0
index 95ec454..950d36b 100644
@@ -1153,6 +1153,7 @@ endif
 	source "package/modem-manager/Config.in"
 	source "package/mongoose/Config.in"
 	source "package/mongrel2/Config.in"
+	source "package/mosh/Config.in"
 	source "package/mrouted/Config.in"
 	source "package/mtr/Config.in"
 	source "package/nbd/Config.in"
package/mosh/Config.in new file +15 -0
new file mode 100644
index 0000000..a05c711
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_MOSH
+	bool "mosh"
+	select BR2_PACKAGE_OPENSSH
+	select BR2_PACKAGE_PERL
+	select BR2_PACKAGE_PROTOBUF
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_PERL
+	select BR2_PACKAGE_ZLIB
+	help
+	  Remote terminal application that allows roaming, supports intermittent
+	  connectivity, and provides intelligent local echo and line editing of
+	  user keystrokes.
+
+	  Mosh is a replacement for SSH. It's more robust and responsive,
+	  especially over Wi-Fi, cellular, and long-distance links.
package/mosh/mosh.mk new file +14 -0
new file mode 100644
index 0000000..c4f2c07
@@ -0,0 +1,14 @@
+################################################################################
+#
+# mosh
+#
+################################################################################
+
+MOSH_VERSION = 1.2.4
+MOSH_SITE = http://mosh.mit.edu
+MOSH_SOURCES = mosh-$(MOSH_VERSION).tar.gz
+MOSH_DEPENDENCIES = host-protobuf-c ncurses openssh openssl perl protobuf zlib
+MOSH_LICENSE = GPLv3+
+MOSH_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))
Signature · 1 line
2.3.3
#16 lore raw

PATCH 1/1 package: add mosh 1.2.4

Hi Steven,

package/mosh/Config.in line 7

Quoted 13 lines · Steven Noonan
package/mosh/Config.in new file +7 -0
new file mode 100644
index 0000000..a05c711
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_MOSH
+	bool "mosh"
+	select BR2_PACKAGE_OPENSSH
+	select BR2_PACKAGE_PERL
+	select BR2_PACKAGE_PROTOBUF
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_PERL

Duplicate.

package/mosh/Config.in line 8

Quoted 1 line
package/mosh/Config.in new file +1 -0
+	select BR2_PACKAGE_ZLIB

Please propagate dependencies.

Quoted 13 lines
package/mosh/Config.in new file +7 -0
+	help
+	  Remote terminal application that allows roaming, supports intermittent
+	  connectivity, and provides intelligent local echo and line editing of
+	  user keystrokes.
+
+	  Mosh is a replacement for SSH. It's more robust and responsive,
+	  especially over Wi-Fi, cellular, and long-distance links.
package/mosh/mosh.mk new file +0 -0
new file mode 100644
index 0000000..c4f2c07

package/mosh/mosh.mk line 9

Quoted 9 lines
package/mosh/mosh.mk new file +9 -0
@@ -0,0 +1,14 @@
+################################################################################
+#
+# mosh
+#
+################################################################################
+
+MOSH_VERSION = 1.2.4
+MOSH_SITE = http://mosh.mit.edu
+MOSH_SOURCES = mosh-$(MOSH_VERSION).tar.gz

That's the default.

package/mosh/mosh.mk line 10

Quoted 1 line
package/mosh/mosh.mk new file +1 -0
+MOSH_DEPENDENCIES = host-protobuf-c ncurses openssh openssl perl protobuf zlib

You missed selecting BR2_PACKAGE_OPENSSL in Config.in.

package/mosh/mosh.mk line 14

Quoted 4 lines
package/mosh/mosh.mk new file +4 -0
+MOSH_LICENSE = GPLv3+
+MOSH_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#17 lore raw

PATCH 1/1 package: add hwloc 1.10.1

In reply to Steven Noonan

HI Steven,

package/hwloc/Config.in line 4

Quoted 10 lines · Steven Noonan
package/hwloc/Config.in new file +4 -0
new file mode 100644
index 0000000..069bc8b
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HWLOC
+	bool "hwloc"
+	select BR2_PACKAGE_LIBPCIACCESS
+	select BR2_PACKAGE_NUMACTL

Please propagate the dependencies of libpciaccess (largefile), and numactl (largefile, arches).

package/hwloc/Config.in line 6

Quoted 2 lines
package/hwloc/Config.in new file +2 -0
+	help
+	  Portable Hrdware Locality

Typo: "Hardware". Also, this description is not very helpful. Please add something like (from the website):

The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading.

baruch

package/hwloc/hwloc.hash line 1

Quoted 9 lines
package/hwloc/Config.in new file +2 -0
+
+	  http://www.open-mpi.org/projects/hwloc/
package/hwloc/hwloc.hash new file +1 -0
new file mode 100644
index 0000000..8d25904
@@ -0,0 +1,2 @@
+# From http://www.open-mpi.org/software/hwloc/v1.10/downloads/hwloc-1.10.1.tar.bz2

This line should contain the origin of the hash value below, so that the user can verify the hash independently. If upstream does not provide that, just say "Locally computed".

package/hwloc/hwloc.hash line 2

Quoted 1 line
package/hwloc/hwloc.hash new file +1 -0
+sha1	76291124e4638b2fbd4deb4cc3cd680e153077b5	hwloc-1.10.1.tar.bz2

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#18 lore raw

PATCH 1/1 package: add hwloc 1.10.1

Quoted 16 lines · Baruch Siach

HI Steven,

package/hwloc/Config.in line 4

Quoted 10 lines · Steven Noonan
package/hwloc/Config.in new file +4 -0
new file mode 100644
index 0000000..069bc8b
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HWLOC
+     bool "hwloc"
+     select BR2_PACKAGE_LIBPCIACCESS
+     select BR2_PACKAGE_NUMACTL

Please propagate the dependencies of libpciaccess (largefile), and numactl (largefile, arches).

OK.

Quoted 10 lines

package/hwloc/Config.in line 6

Quoted 2 lines
package/hwloc/Config.in new file +2 -0
+     help
+       Portable Hrdware Locality

Typo: "Hardware". Also, this description is not very helpful. Please add something like (from the website):

The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading.

Already fixed in v2.

Quoted 17 lines

baruch

package/hwloc/hwloc.hash line 1

Quoted 9 lines
package/hwloc/Config.in new file +2 -0
+
+       http://www.open-mpi.org/projects/hwloc/
package/hwloc/hwloc.hash new file +1 -0
new file mode 100644
index 0000000..8d25904
@@ -0,0 +1,2 @@
+# From http://www.open-mpi.org/software/hwloc/v1.10/downloads/hwloc-1.10.1.tar.bz2

This line should contain the origin of the hash value below, so that the user can verify the hash independently. If upstream does not provide that, just say "Locally computed".

Quoted 1 line
package/hwloc/hwloc.hash new file +1 -0
+sha1 76291124e4638b2fbd4deb4cc3cd680e153077b5        hwloc-1.10.1.tar.bz2

OK. Will fix.

Quoted 6 lines

baruch

--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -