diff --git a/Makefile b/Makefile index 4aebfa2d2e..3b5d921dd9 100644 --- a/Makefile +++ b/Makefile @@ -222,10 +222,6 @@ GNU_HOST_NAME:=$(shell support/gnuconfig/config.guess) # ################################################################################ -ifeq ($(BR2_CCACHE),y) -BASE_TARGETS += host-ccache -endif - ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) BASE_TARGETS += toolchain-buildroot else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y) diff --git a/board/wandboard/readme.txt b/board/wandboard/readme.txt new file mode 100644 index 0000000000..4dd9c2c7f0 --- /dev/null +++ b/board/wandboard/readme.txt @@ -0,0 +1,37 @@ +Minimal board support for the Wandboard + +Wandboard's homepage is here: http://www.wandboard.org/ + +This config is only tested with the dual core wandboard. + +Installing: + +You need a micro SD card and a slot/adapter for your development machine. + +Partition the SD card leaving at least 1 MB in front of the first partition. + +Partition layout (example): + +Disk /dev/sdi: 3965 MB, 3965190144 bytes +255 heads, 63 sectors/track, 482 cylinders +Units = cylinders of 16065 * 512 = 8225280 bytes +Sector size (logical/physical): 512 bytes / 512 bytes +I/O size (minimum/optimal): 512 bytes / 512 bytes +Disk identifier: 0x77b47445 + + Device Boot Start End Blocks Id System +/dev/sdi1 2 482 3863632+ 83 Linux + +Copy u-boot and its environment to the SD card: +sudo dd if=output/images/u-boot.imx bs=512 seek=2 of=/dev/sd +sudo dd if=output/images/uboot-env.bin bs=512 seek=768 of=/dev/sd + +Copy the root filesystem: +sudo dd if=output/images/rootfs.ext2 of=/dev/sd1 + +Alternative commands to copy root filesystem: +sudo mkfs.ext4 /dev/sd1 +sudo mount /dev/sd1 /mnt +sudo tar xf output/images/rootfs.tar -C /mnt +sudo umount /mnt + diff --git a/board/wandboard/uboot-env.txt b/board/wandboard/uboot-env.txt new file mode 100644 index 0000000000..7ca2b1a85c --- /dev/null +++ b/board/wandboard/uboot-env.txt @@ -0,0 +1,20 @@ +baudrate=115200 +bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi +bootdelay=3 +bootscript=echo Running bootscript from mmc ...; source +console=ttymxc0 +ethact=FEC +ethaddr=00:1f:7b:b2:05:ee +ethprime=FEC +loadaddr=0x12000000 +loadbootscript=ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script}; +loaduimage=ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage} +mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} +mmcboot=echo Booting from mmc ...; run mmcargs; bootm; +mmcdev=0 +mmcpart=1 +mmcroot=/dev/mmcblk0p1 rootwait rw +netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp +netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${uimage}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootm ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootm; else echo WARN: Cannot load the DT; fi; fi; else bootm; fi; +script=boot/boot.scr +uimage=boot/uImage diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in index 156cd73efc..04929ea7be 100644 --- a/boot/barebox/Config.in +++ b/boot/barebox/Config.in @@ -12,7 +12,7 @@ choice Select the specific Barebox version you want to use config BR2_TARGET_BAREBOX_LATEST_VERSION - bool "2013.07.0" + bool "2013.08.0" config BR2_TARGET_BAREBOX_CUSTOM_VERSION bool "Custom version" @@ -40,7 +40,7 @@ endif config BR2_TARGET_BAREBOX_VERSION string - default "2013.07.0" if BR2_TARGET_BAREBOX_LATEST_VERSION + default "2013.08.0" if BR2_TARGET_BAREBOX_LATEST_VERSION default $BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL default $BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig new file mode 100644 index 0000000000..ca4ce8711a --- /dev/null +++ b/configs/wandboard_defconfig @@ -0,0 +1,22 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_KERNEL_HEADERS_3_0=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="wandboard_dl" +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL="git://git.denx.de/u-boot-imx.git" +BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION="326ea986ac150acdc7656d57fca647db80b50158" +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.imx" +BR2_TARGET_UBOOT_ENVIMAGE=y +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/wandboard/uboot-env.txt" +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://repo.or.cz/wandboard.git" +BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="86429847b5152f040f190015faedcac49b243328" +BR2_LINUX_KERNEL_DEFCONFIG="wandboard" +BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/package/Config.in b/package/Config.in index 97cd7da55e..6306947379 100644 --- a/package/Config.in +++ b/package/Config.in @@ -23,6 +23,7 @@ source "package/dhrystone/Config.in" source "package/dstat/Config.in" source "package/dmalloc/Config.in" source "package/dropwatch/Config.in" +source "package/duma/Config.in" source "package/gdb/Config.in" source "package/iozone/Config.in" source "package/kexec/Config.in" @@ -48,6 +49,7 @@ source "package/strace/Config.in" source "package/stress/Config.in" source "package/sysprof/Config.in" source "package/tinymembench/Config.in" +source "package/trace-cmd/Config.in" source "package/whetstone/Config.in" source "package/valgrind/Config.in" source "package/pv/Config.in" @@ -95,6 +97,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/sed/Config.in" endif source "package/sstrip/Config.in" +source "package/subversion/Config.in" if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/tar/Config.in" endif @@ -207,6 +210,7 @@ source "package/f2fs-tools/Config.in" source "package/flashbench/Config.in" source "package/genext2fs/Config.in" source "package/genromfs/Config.in" +source "package/kobs-ng/Config.in" source "package/makedevs/Config.in" source "package/mtd/Config.in" source "package/nfs-utils/Config.in" @@ -233,6 +237,7 @@ source "package/freescale-imx/Config.in" source "package/a10disp/Config.in" source "package/acpid/Config.in" source "package/cdrkit/Config.in" +source "package/cryptsetup/Config.in" source "package/dbus/Config.in" source "package/dbus-glib/Config.in" source "package/dbus-python/Config.in" @@ -333,9 +338,12 @@ source "package/luaexpat/Config.in" source "package/luaexpatutils/Config.in" source "package/luafilesystem/Config.in" source "package/luaposix/Config.in" +source "package/luasec/Config.in" source "package/luasocket/Config.in" +source "package/luasql/Config.in" source "package/lua-ev/Config.in" source "package/lua-msgpack-native/Config.in" +source "package/orbit/Config.in" source "package/rings/Config.in" source "package/wsapi/Config.in" source "package/xavante/Config.in" @@ -458,6 +466,7 @@ source "package/gd/Config.in" source "package/giblib/Config.in" source "package/gtk2-engines/Config.in" source "package/gtk2-themes/Config.in" +source "package/harfbuzz/Config.in" source "package/imlib2/Config.in" source "package/jpeg/Config.in" source "package/lcms2/Config.in" @@ -896,6 +905,7 @@ source "package/cpuload/Config.in" source "package/htop/Config.in" source "package/keyutils/Config.in" source "package/kmod/Config.in" +source "package/lxc/Config.in" if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/module-init-tools/Config.in" endif diff --git a/package/atk/atk-glib-fix.patch b/package/atk/atk-glib-fix.patch deleted file mode 100644 index 3cbb47b070..0000000000 --- a/package/atk/atk-glib-fix.patch +++ /dev/null @@ -1,681 +0,0 @@ -[PATCH] Fix build with modern glib versions - -G_CONST_RETURN is deprecated, so replace with 'const' instead. - -Signed-off-by: Peter Korsgaard ---- - atk/atkaction.c | 8 ++++---- - atk/atkaction.h | 16 ++++++++-------- - atk/atkdocument.c | 6 +++--- - atk/atkdocument.h | 12 ++++++------ - atk/atkimage.c | 4 ++-- - atk/atkimage.h | 8 ++++---- - atk/atkobject.c | 18 +++++++++--------- - atk/atkobject.h | 12 ++++++------ - atk/atkrelation.c | 2 +- - atk/atkrelation.h | 2 +- - atk/atkstate.c | 2 +- - atk/atkstate.h | 2 +- - atk/atkstreamablecontent.c | 2 +- - atk/atkstreamablecontent.h | 10 +++++----- - atk/atktable.c | 4 ++-- - atk/atktable.h | 8 ++++---- - atk/atktext.c | 4 ++-- - atk/atktext.h | 4 ++-- - atk/atkutil.c | 6 +++--- - atk/atkutil.h | 10 +++++----- - tests/testrelation.c | 6 +++--- - tests/teststateset.c | 2 +- - 22 files changed, 74 insertions(+), 74 deletions(-) - -Index: atk-1.33.6/atk/atkaction.c -=================================================================== ---- atk-1.33.6.orig/atk/atkaction.c -+++ atk-1.33.6/atk/atkaction.c -@@ -101,7 +101,7 @@ - * Returns a description string, or %NULL - * if @action does not implement this interface. - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_action_get_description (AtkAction *obj, - gint i) - { -@@ -140,7 +140,7 @@ - * Returns a name string, or %NULL - * if @action does not implement this interface. - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_action_get_name (AtkAction *obj, - gint i) - { -@@ -166,7 +166,7 @@ - * Returns a name string, or %NULL - * if @action does not implement this interface. - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_action_get_localized_name (AtkAction *obj, - gint i) - { -@@ -203,7 +203,7 @@ - * if there is no keybinding for this action. - * - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_action_get_keybinding (AtkAction *obj, - gint i) - { -Index: atk-1.33.6/atk/atkaction.h -=================================================================== ---- atk-1.33.6.orig/atk/atkaction.h -+++ atk-1.33.6/atk/atkaction.h -@@ -55,16 +55,16 @@ - gboolean (*do_action) (AtkAction *action, - gint i); - gint (*get_n_actions) (AtkAction *action); -- G_CONST_RETURN gchar* (*get_description) (AtkAction *action, -+ const gchar* (*get_description) (AtkAction *action, - gint i); -- G_CONST_RETURN gchar* (*get_name) (AtkAction *action, -+ const gchar* (*get_name) (AtkAction *action, - gint i); -- G_CONST_RETURN gchar* (*get_keybinding) (AtkAction *action, -+ const gchar* (*get_keybinding) (AtkAction *action, - gint i); - gboolean (*set_description) (AtkAction *action, - gint i, - const gchar *desc); -- G_CONST_RETURN gchar* (*get_localized_name)(AtkAction *action, -+ const gchar* (*get_localized_name)(AtkAction *action, - gint i); - AtkFunction pad2; - }; -@@ -85,11 +85,11 @@ - gboolean atk_action_do_action (AtkAction *action, - gint i); - gint atk_action_get_n_actions (AtkAction *action); --G_CONST_RETURN gchar* atk_action_get_description (AtkAction *action, -+const gchar* atk_action_get_description (AtkAction *action, - gint i); --G_CONST_RETURN gchar* atk_action_get_name (AtkAction *action, -+const gchar* atk_action_get_name (AtkAction *action, - gint i); --G_CONST_RETURN gchar* atk_action_get_keybinding (AtkAction *action, -+const gchar* atk_action_get_keybinding (AtkAction *action, - gint i); - gboolean atk_action_set_description (AtkAction *action, - gint i, -@@ -97,7 +97,7 @@ - - /* NEW in ATK 1.1: */ - --G_CONST_RETURN gchar* atk_action_get_localized_name (AtkAction *action, -+const gchar* atk_action_get_localized_name (AtkAction *action, - gint i); - - /* -Index: atk-1.33.6/atk/atkdocument.c -=================================================================== ---- atk-1.33.6.orig/atk/atkdocument.c -+++ atk-1.33.6/atk/atkdocument.c -@@ -93,7 +93,7 @@ - * - * Returns: a string indicating the document type - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_document_get_document_type (AtkDocument *document) - { - AtkDocumentIface *iface; -@@ -155,7 +155,7 @@ - * locale of the document content as a whole, or NULL if - * the document content does not specify a locale. - **/ --G_CONST_RETURN gchar * -+const gchar * - atk_document_get_locale (AtkDocument *document) - { - AtkDocumentIface *iface; -@@ -219,7 +219,7 @@ - * document, or NULL if a value for #attribute_name has not been specified - * for this document. - */ --G_CONST_RETURN gchar * -+const gchar * - atk_document_get_attribute_value (AtkDocument *document, - const gchar *attribute_name) - { -Index: atk-1.33.6/atk/atkdocument.h -=================================================================== ---- atk-1.33.6.orig/atk/atkdocument.h -+++ atk-1.33.6/atk/atkdocument.h -@@ -49,12 +49,12 @@ - struct _AtkDocumentIface - { - GTypeInterface parent; -- G_CONST_RETURN gchar* ( *get_document_type) (AtkDocument *document); -+ const gchar* ( *get_document_type) (AtkDocument *document); - gpointer ( *get_document) (AtkDocument *document); - -- G_CONST_RETURN gchar* ( *get_document_locale) (AtkDocument *document); -+ const gchar* ( *get_document_locale) (AtkDocument *document); - AtkAttributeSet * ( *get_document_attributes) (AtkDocument *document); -- G_CONST_RETURN gchar* ( *get_document_attribute_value) (AtkDocument *document, -+ const gchar* ( *get_document_attribute_value) (AtkDocument *document, - const gchar *attribute_name); - gboolean ( *set_document_attribute) (AtkDocument *document, - const gchar *attribute_name, -@@ -68,11 +68,11 @@ - - GType atk_document_get_type (void); - --G_CONST_RETURN gchar* atk_document_get_document_type (AtkDocument *document); -+const gchar* atk_document_get_document_type (AtkDocument *document); - gpointer atk_document_get_document (AtkDocument *document); --G_CONST_RETURN gchar* atk_document_get_locale (AtkDocument *document); -+const gchar* atk_document_get_locale (AtkDocument *document); - AtkAttributeSet* atk_document_get_attributes (AtkDocument *document); --G_CONST_RETURN gchar* atk_document_get_attribute_value (AtkDocument *document, -+const gchar* atk_document_get_attribute_value (AtkDocument *document, - const gchar *attribute_name); - gboolean atk_document_set_attribute_value (AtkDocument *document, - const gchar *attribute_name, -Index: atk-1.33.6/atk/atkimage.c -=================================================================== ---- atk-1.33.6.orig/atk/atkimage.c -+++ atk-1.33.6/atk/atkimage.c -@@ -46,7 +46,7 @@ - * - * Returns: a string representing the image description - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_image_get_image_description (AtkImage *image) - { - AtkImageIface *iface; -@@ -192,7 +192,7 @@ - * Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image description, or NULL if the image does not specify a locale. - * - */ --G_CONST_RETURN gchar* -+const gchar* - atk_image_get_image_locale (AtkImage *image) - { - -Index: atk-1.33.6/atk/atkimage.h -=================================================================== ---- atk-1.33.6.orig/atk/atkimage.h -+++ atk-1.33.6/atk/atkimage.h -@@ -53,13 +53,13 @@ - gint *x, - gint *y, - AtkCoordType coord_type); -- G_CONST_RETURN gchar* ( *get_image_description) (AtkImage *image); -+ const gchar* ( *get_image_description) (AtkImage *image); - void ( *get_image_size) (AtkImage *image, - gint *width, - gint *height); - gboolean ( *set_image_description) (AtkImage *image, - const gchar *description); -- G_CONST_RETURN gchar* ( *get_image_locale) (AtkImage *image); -+ const gchar* ( *get_image_locale) (AtkImage *image); - - AtkFunction pad1; - -@@ -67,7 +67,7 @@ - - GType atk_image_get_type (void); - --G_CONST_RETURN gchar* atk_image_get_image_description (AtkImage *image); -+const gchar* atk_image_get_image_description (AtkImage *image); - - void atk_image_get_image_size (AtkImage *image, - gint *width, -@@ -80,7 +80,7 @@ - gint *y, - AtkCoordType coord_type); - --G_CONST_RETURN gchar* atk_image_get_image_locale (AtkImage *image); -+const gchar* atk_image_get_image_locale (AtkImage *image); - - G_END_DECLS - -Index: atk-1.33.6/atk/atkobject.c -=================================================================== ---- atk-1.33.6.orig/atk/atkobject.c -+++ atk-1.33.6/atk/atkobject.c -@@ -285,9 +285,9 @@ - GValue *value, - GParamSpec *pspec); - static void atk_object_finalize (GObject *object); --static G_CONST_RETURN gchar* -+static const gchar* - atk_object_real_get_name (AtkObject *object); --static G_CONST_RETURN gchar* -+static const gchar* - atk_object_real_get_description - (AtkObject *object); - static AtkObject* atk_object_real_get_parent (AtkObject *object); -@@ -692,7 +692,7 @@ - * - * Returns: a character string representing the accessible name of the object. - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_object_get_name (AtkObject *accessible) - { - AtkObjectClass *klass; -@@ -716,7 +716,7 @@ - * of the accessible. - * - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_object_get_description (AtkObject *accessible) - { - AtkObjectClass *klass; -@@ -1125,7 +1125,7 @@ - AtkState state, - gboolean value) - { -- G_CONST_RETURN gchar* name; -+ const gchar* name; - - g_return_if_fail (ATK_IS_OBJECT (accessible)); - -@@ -1323,13 +1323,13 @@ - G_OBJECT_CLASS (parent_class)->finalize (object); - } - --static G_CONST_RETURN gchar* -+static const gchar* - atk_object_real_get_name (AtkObject *object) - { - return object->name; - } - --static G_CONST_RETURN gchar* -+static const gchar* - atk_object_real_get_description (AtkObject *object) - { - return object->description; -@@ -1491,7 +1491,7 @@ - * - * Returns: the string describing the AtkRole - */ --G_CONST_RETURN gchar* -+const gchar* - atk_role_get_name (AtkRole role) - { - if (role >= 0 && role < ATK_ROLE_LAST_DEFINED) -@@ -1518,7 +1518,7 @@ - * - * Returns: the localized string describing the AtkRole - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_role_get_localized_name (AtkRole role) - { - gettext_initialization (); -Index: atk-1.33.6/atk/atkobject.h -=================================================================== ---- atk-1.33.6.orig/atk/atkobject.h -+++ atk-1.33.6/atk/atkobject.h -@@ -381,11 +381,11 @@ - /* - * Gets the accessible name of the object - */ -- G_CONST_RETURN gchar* (* get_name) (AtkObject *accessible); -+ const gchar* (* get_name) (AtkObject *accessible); - /* - * Gets the accessible description of the object - */ -- G_CONST_RETURN gchar* (* get_description) (AtkObject *accessible); -+ const gchar* (* get_description) (AtkObject *accessible); - /* - * Gets the accessible parent of the object - */ -@@ -535,8 +535,8 @@ - * Properties directly supported by AtkObject - */ - --G_CONST_RETURN gchar* atk_object_get_name (AtkObject *accessible); --G_CONST_RETURN gchar* atk_object_get_description (AtkObject *accessible); -+const gchar* atk_object_get_name (AtkObject *accessible); -+const gchar* atk_object_get_description (AtkObject *accessible); - AtkObject* atk_object_get_parent (AtkObject *accessible); - gint atk_object_get_n_accessible_children (AtkObject *accessible); - AtkObject* atk_object_ref_accessible_child (AtkObject *accessible, -@@ -571,7 +571,7 @@ - void atk_object_initialize (AtkObject *accessible, - gpointer data); - --G_CONST_RETURN gchar* atk_role_get_name (AtkRole role); -+const gchar* atk_role_get_name (AtkRole role); - AtkRole atk_role_for_name (const gchar *name); - - -@@ -582,7 +582,7 @@ - gboolean atk_object_remove_relationship (AtkObject *object, - AtkRelationType relationship, - AtkObject *target); --G_CONST_RETURN gchar* atk_role_get_localized_name (AtkRole role); -+const gchar* atk_role_get_localized_name (AtkRole role); - - /* */ - -Index: atk-1.33.6/atk/atkrelation.c -=================================================================== ---- atk-1.33.6.orig/atk/atkrelation.c -+++ atk-1.33.6/atk/atkrelation.c -@@ -130,7 +130,7 @@ - * - * Returns: the string describing the AtkRelationType - */ --G_CONST_RETURN gchar* -+const gchar* - atk_relation_type_get_name (AtkRelationType type) - { - GTypeClass *type_class; -Index: atk-1.33.6/atk/atkrelation.h -=================================================================== ---- atk-1.33.6.orig/atk/atkrelation.h -+++ atk-1.33.6/atk/atkrelation.h -@@ -61,7 +61,7 @@ - GType atk_relation_get_type (void); - - AtkRelationType atk_relation_type_register (const gchar *name); --G_CONST_RETURN gchar* atk_relation_type_get_name (AtkRelationType type); -+const gchar* atk_relation_type_get_name (AtkRelationType type); - AtkRelationType atk_relation_type_for_name (const gchar *name); - - /* -Index: atk-1.33.6/atk/atkstate.c -=================================================================== ---- atk-1.33.6.orig/atk/atkstate.c -+++ atk-1.33.6/atk/atkstate.c -@@ -57,7 +57,7 @@ - * - * Returns: the string describing the AtkStateType - */ --G_CONST_RETURN gchar* -+const gchar* - atk_state_type_get_name (AtkStateType type) - { - GTypeClass *type_class; -Index: atk-1.33.6/atk/atkstate.h -=================================================================== ---- atk-1.33.6.orig/atk/atkstate.h -+++ atk-1.33.6/atk/atkstate.h -@@ -170,7 +170,7 @@ - - AtkStateType atk_state_type_register (const gchar *name); - --G_CONST_RETURN gchar* atk_state_type_get_name (AtkStateType type); -+const gchar* atk_state_type_get_name (AtkStateType type); - AtkStateType atk_state_type_for_name (const gchar *name); - - G_END_DECLS -Index: atk-1.33.6/atk/atkstreamablecontent.c -=================================================================== ---- atk-1.33.6.orig/atk/atkstreamablecontent.c -+++ atk-1.33.6/atk/atkstreamablecontent.c -@@ -73,7 +73,7 @@ - * Returns : a gchar* representing the specified mime type; the caller - * should not free the character string. - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_streamable_content_get_mime_type (AtkStreamableContent *streamable, - gint i) - { -Index: atk-1.33.6/atk/atkstreamablecontent.h -=================================================================== ---- atk-1.33.6.orig/atk/atkstreamablecontent.h -+++ atk-1.33.6/atk/atkstreamablecontent.h -@@ -54,11 +54,11 @@ - * at index 0 should be considered the "default" data type for the stream. - * - * This assumes that the strings for the mime types are stored in the -- * AtkStreamableContent. Alternatively the G_CONST_RETURN could be removed -+ * AtkStreamableContent. Alternatively the const could be removed - * and the caller would be responsible for calling g_free() on the - * returned value. - */ -- G_CONST_RETURN gchar* (* get_mime_type) (AtkStreamableContent *streamable, -+ const gchar* (* get_mime_type) (AtkStreamableContent *streamable, - gint i); - /* - * One possible implementation for this method is that it constructs the -@@ -80,7 +80,7 @@ - * constructed. Note that it is possible for get_uri to return NULL but for - * get_stream to work nonetheless, since not all GIOChannels connect to URIs. - */ -- G_CONST_RETURN gchar* (* get_uri) (AtkStreamableContent *streamable, -+ const gchar* (* get_uri) (AtkStreamableContent *streamable, - const gchar *mime_type); - - -@@ -92,12 +92,12 @@ - - gint atk_streamable_content_get_n_mime_types (AtkStreamableContent *streamable); - --G_CONST_RETURN gchar* atk_streamable_content_get_mime_type (AtkStreamableContent *streamable, -+const gchar* atk_streamable_content_get_mime_type (AtkStreamableContent *streamable, - gint i); - GIOChannel* atk_streamable_content_get_stream (AtkStreamableContent *streamable, - const gchar *mime_type); - --G_CONST_RETURN gchar* atk_streamable_content_get_uri (AtkStreamableContent *streamable, -+const gchar* atk_streamable_content_get_uri (AtkStreamableContent *streamable, - const gchar *mime_type); - - G_END_DECLS -Index: atk-1.33.6/atk/atktable.c -=================================================================== ---- atk-1.33.6.orig/atk/atktable.c -+++ atk-1.33.6/atk/atktable.c -@@ -301,7 +301,7 @@ - * Returns: a gchar* representing the column description, or %NULL - * if value does not implement this interface. - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_table_get_column_description (AtkTable *table, - gint column) - { -@@ -405,7 +405,7 @@ - * Returns: a gchar* representing the row description, or %NULL - * if value does not implement this interface. - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_table_get_row_description (AtkTable *table, - gint row) - { -Index: atk-1.33.6/atk/atktable.h -=================================================================== ---- atk-1.33.6.orig/atk/atktable.h -+++ atk-1.33.6/atk/atktable.h -@@ -69,12 +69,12 @@ - gint column); - AtkObject* - (* get_caption) (AtkTable *table); -- G_CONST_RETURN gchar* -+ const gchar* - (* get_column_description) (AtkTable *table, - gint column); - AtkObject* (* get_column_header) (AtkTable *table, - gint column); -- G_CONST_RETURN gchar* -+ const gchar* - (* get_row_description) (AtkTable *table, - gint row); - AtkObject* (* get_row_header) (AtkTable *table, -@@ -163,12 +163,12 @@ - gint column); - AtkObject* - atk_table_get_caption (AtkTable *table); --G_CONST_RETURN gchar* -+const gchar* - atk_table_get_column_description (AtkTable *table, - gint column); - AtkObject* atk_table_get_column_header (AtkTable *table, - gint column); --G_CONST_RETURN gchar* -+const gchar* - atk_table_get_row_description (AtkTable *table, - gint row); - AtkObject* atk_table_get_row_header (AtkTable *table, -Index: atk-1.33.6/atk/atktext.c -=================================================================== ---- atk-1.33.6.orig/atk/atktext.c -+++ atk-1.33.6/atk/atktext.c -@@ -1054,7 +1054,7 @@ - * - * Returns: a string containing the name; this string should not be freed - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_text_attribute_get_name (AtkTextAttribute attr) - { - GTypeClass *type_class; -@@ -1150,7 +1150,7 @@ - * Returns: a string containing the value; this string should not be freed; - * NULL is returned if there are no values maintained for the attr value. - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_text_attribute_get_value (AtkTextAttribute attr, - gint index) - { -Index: atk-1.33.6/atk/atktext.h -=================================================================== ---- atk-1.33.6.orig/atk/atktext.h -+++ atk-1.33.6/atk/atktext.h -@@ -355,9 +355,9 @@ - AtkTextClipType y_clip_type); - void atk_text_free_ranges (AtkTextRange **ranges); - void atk_attribute_set_free (AtkAttributeSet *attrib_set); --G_CONST_RETURN gchar* atk_text_attribute_get_name (AtkTextAttribute attr); -+const gchar* atk_text_attribute_get_name (AtkTextAttribute attr); - AtkTextAttribute atk_text_attribute_for_name (const gchar *name); --G_CONST_RETURN gchar* atk_text_attribute_get_value (AtkTextAttribute attr, -+const gchar* atk_text_attribute_get_value (AtkTextAttribute attr, - gint index_); - - G_END_DECLS -Index: atk-1.33.6/atk/atkutil.c -=================================================================== ---- atk-1.33.6.orig/atk/atkutil.c -+++ atk-1.33.6/atk/atkutil.c -@@ -342,7 +342,7 @@ - * - * Returns: name string for the GUI toolkit implementing ATK for this application - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_get_toolkit_name (void) - { - const gchar *retval; -@@ -367,7 +367,7 @@ - * - * Returns: version string for the GUI toolkit implementing ATK for this application - **/ --G_CONST_RETURN gchar* -+const gchar* - atk_get_toolkit_version (void) - { - const gchar *retval; -@@ -394,7 +394,7 @@ - * - * Since: 1.20 - */ --G_CONST_RETURN gchar * -+const gchar * - atk_get_version (void) - { - return VERSION; -Index: atk-1.33.6/atk/atkutil.h -=================================================================== ---- atk-1.33.6.orig/atk/atkutil.h -+++ atk-1.33.6/atk/atkutil.h -@@ -147,8 +147,8 @@ - gpointer data); - void (* remove_key_event_listener) (guint listener_id); - AtkObject* (* get_root) (void); -- G_CONST_RETURN gchar* (* get_toolkit_name) (void); -- G_CONST_RETURN gchar* (* get_toolkit_version) (void); -+ const gchar* (* get_toolkit_name) (void); -+ const gchar* (* get_toolkit_version) (void); - }; - GType atk_util_get_type (void); - -@@ -229,17 +229,17 @@ - /* - * Returns name string for the GUI toolkit. - */ --G_CONST_RETURN gchar *atk_get_toolkit_name (void); -+const gchar *atk_get_toolkit_name (void); - - /* - * Returns version string for the GUI toolkit. - */ --G_CONST_RETURN gchar *atk_get_toolkit_version (void); -+const gchar *atk_get_toolkit_version (void); - - /* - * Gets the current version of ATK - */ --G_CONST_RETURN gchar *atk_get_version (void); -+const gchar *atk_get_version (void); - - /* --- GType boilerplate --- */ - /* convenience macros for atk type implementations, which for a type GtkGadgetAccessible will: -Index: atk-1.33.6/tests/testrelation.c -=================================================================== ---- atk-1.33.6.orig/tests/testrelation.c -+++ atk-1.33.6/tests/testrelation.c -@@ -28,7 +28,7 @@ - test_relation (void) - { - AtkRelationType type1, type2; -- G_CONST_RETURN gchar *name; -+ const gchar *name; - AtkObject *obj; - gboolean ret_value; - AtkRelationSet *set; -@@ -169,7 +169,7 @@ - test_role (void) - { - AtkRole role1, role2; -- G_CONST_RETURN gchar *name; -+ const gchar *name; - - name = atk_role_get_name (ATK_ROLE_PAGE_TAB); - g_return_val_if_fail (name, FALSE); -@@ -230,7 +230,7 @@ - test_text_attr (void) - { - AtkTextAttribute attr1, attr2; -- G_CONST_RETURN gchar *name; -+ const gchar *name; - - name = atk_text_attribute_get_name (ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP); - g_return_val_if_fail (name, FALSE); -Index: atk-1.33.6/tests/teststateset.c -=================================================================== ---- atk-1.33.6.orig/tests/teststateset.c -+++ atk-1.33.6/tests/teststateset.c -@@ -208,7 +208,7 @@ - test_state (void) - { - AtkStateType type1, type2; -- G_CONST_RETURN gchar *name; -+ const gchar *name; - - name = atk_state_type_get_name (ATK_STATE_VISIBLE); - g_return_val_if_fail (name, FALSE); diff --git a/package/atk/atk.mk b/package/atk/atk.mk index 91fe6a3e00..ecfec5484b 100644 --- a/package/atk/atk.mk +++ b/package/atk/atk.mk @@ -4,9 +4,9 @@ # ################################################################################ -ATK_VERSION_MAJOR = 1.33 -ATK_VERSION = $(ATK_VERSION_MAJOR).6 -ATK_SOURCE = atk-$(ATK_VERSION).tar.bz2 +ATK_VERSION_MAJOR = 2.9 +ATK_VERSION = $(ATK_VERSION_MAJOR).3 +ATK_SOURCE = atk-$(ATK_VERSION).tar.xz ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR)/ ATK_LICENSE = LGPLv2+ ATK_LICENSE_FILES = COPYING diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index acc9008a34..ad8bdaf702 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -75,6 +75,19 @@ define BUSYBOX_SET_MDEV endef endif +ifeq ($(BR2_USE_MMU),y) +define BUSYBOX_SET_MMU + $(call KCONFIG_DISABLE_OPT,CONFIG_NOMMU,$(BUSYBOX_BUILD_CONFIG)) +endef +else +define BUSYBOX_SET_MMU + $(call KCONFIG_ENABLE_OPT,CONFIG_NOMMU,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_DISABLE_OPT,CONFIG_SWAPONOFF,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_DISABLE_OPT,CONFIG_ASH,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH,$(BUSYBOX_BUILD_CONFIG)) +endef +endif + ifeq ($(BR2_LARGEFILE),y) define BUSYBOX_SET_LARGEFILE $(call KCONFIG_ENABLE_OPT,CONFIG_LFS,$(BUSYBOX_BUILD_CONFIG)) @@ -133,14 +146,6 @@ define BUSYBOX_INTERNAL_SHADOW_PASSWORDS endef endif -ifeq ($(BR2_USE_MMU),) -define BUSYBOX_DISABLE_MMU_APPLETS - $(call KCONFIG_DISABLE_OPT,CONFIG_SWAPONOFF,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_DISABLE_OPT,CONFIG_ASH,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH,$(BUSYBOX_BUILD_CONFIG)) -endef -endif - ifeq ($(BR2_INIT_BUSYBOX),y) define BUSYBOX_SET_INIT $(call KCONFIG_ENABLE_OPT,CONFIG_INIT,$(BUSYBOX_BUILD_CONFIG)) @@ -172,6 +177,7 @@ endif BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG define BUSYBOX_CONFIGURE_CMDS + $(BUSYBOX_SET_MMU) $(BUSYBOX_SET_LARGEFILE) $(BUSYBOX_SET_IPV6) $(BUSYBOX_PREFER_STATIC) @@ -179,7 +185,6 @@ define BUSYBOX_CONFIGURE_CMDS $(BUSYBOX_NETKITBASE) $(BUSYBOX_NETKITTELNET) $(BUSYBOX_INTERNAL_SHADOW_PASSWORDS) - $(BUSYBOX_DISABLE_MMU_APPLETS) $(BUSYBOX_SET_INIT) $(BUSYBOX_SET_WATCHDOG) @yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \ diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index c5cb966458..bead908c3c 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -10,12 +10,6 @@ CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.bz2 CCACHE_LICENSE = GPLv3+, others CCACHE_LICENSE_FILES = LICENSE.txt GPL-3.0.txt -# When ccache is being built for the host, ccache is not yet -# available, so we have to use the special C compiler without the -# cache. -HOST_CCACHE_CONF_ENV = \ - CC="$(HOSTCC_NOCCACHE)" - # Force ccache to use its internal zlib. The problem is that without # this, ccache would link against the zlib of the build system, but we # might build and install a different version of zlib in $(O)/host diff --git a/package/cgilua/Config.in b/package/cgilua/Config.in index 01928f005b..d1e7fbf0e8 100644 --- a/package/cgilua/Config.in +++ b/package/cgilua/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_CGILUA bool "cgilua" + # Runtime dependency only select BR2_PACKAGE_LUAFILESYSTEM help CGILua is a tool for creating dynamic HTML pages diff --git a/package/cgilua/cgilua.mk b/package/cgilua/cgilua.mk index a9c8874cee..e327fed212 100644 --- a/package/cgilua/cgilua.mk +++ b/package/cgilua/cgilua.mk @@ -6,7 +6,6 @@ CGILUA_VERSION = 5.1.4 CGILUA_SITE = http://github.com/downloads/keplerproject/cgilua -CGILUA_DEPENDENCIES = luafilesystem CGILUA_LICENSE = MIT define CGILUA_INSTALL_TARGET_CMDS diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk index ec976db040..7e1d72df8c 100644 --- a/package/cjson/cjson.mk +++ b/package/cjson/cjson.mk @@ -4,11 +4,12 @@ # ################################################################################ -CJSON_VERSION = 42 +CJSON_VERSION = 58 CJSON_SITE_METHOD = svn -CJSON_SITE = https://cjson.svn.sourceforge.net/svnroot/cjson +CJSON_SITE = http://svn.code.sf.net/p/cjson/code CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT +CJSON_LICENSE_FILES = LICENSE define CJSON_BUILD_CMDS cd $(@D) && $(TARGET_CC) $(TARGET_CFLAGS) -shared -fPIC cJSON.c -o libcJSON.so diff --git a/package/copas/Config.in b/package/copas/Config.in index 9969c8f9a4..21dd0eb883 100644 --- a/package/copas/Config.in +++ b/package/copas/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_COPAS bool "copas" + # Runtime dependency only select BR2_PACKAGE_COXPCALL select BR2_PACKAGE_LUASOCKET help diff --git a/package/copas/copas.mk b/package/copas/copas.mk index 347b5755f1..e100f49f25 100644 --- a/package/copas/copas.mk +++ b/package/copas/copas.mk @@ -6,7 +6,6 @@ COPAS_VERSION = 1.1.6 COPAS_SITE = http://github.com/downloads/keplerproject/copas -COPAS_DEPENDENCIES = lua coxpcall luasocket COPAS_LICENSE = MIT define COPAS_INSTALL_TARGET_CMDS diff --git a/package/coxpcall/coxpcall.mk b/package/coxpcall/coxpcall.mk index c3e4a7fcc0..275dcde316 100644 --- a/package/coxpcall/coxpcall.mk +++ b/package/coxpcall/coxpcall.mk @@ -6,7 +6,6 @@ COXPCALL_VERSION = 1.13.0 COXPCALL_SITE = http://luaforge.net/frs/download.php/3406 -COXPCALL_DEPENDENCIES = lua COXPCALL_LICENSE = MIT define COXPCALL_INSTALL_TARGET_CMDS diff --git a/package/cpanminus/cpanminus.mk b/package/cpanminus/cpanminus.mk index 60a72ee593..52921b55b9 100644 --- a/package/cpanminus/cpanminus.mk +++ b/package/cpanminus/cpanminus.mk @@ -11,9 +11,9 @@ CPANMINUS_DEPENDENCIES = host-qemu perl $(call qstrip,$(BR2_PACKAGE_CPANMINUS_NA CPANMINUS_RUN_PERL = $(QEMU_USER) $(STAGING_DIR)/usr/bin/perl CPANMINUS_ARCHNAME = $(shell $(CPANMINUS_RUN_PERL) -MConfig -e "print Config->{archname}") -CPANMINUS_PERL_LIB = $(STAGING_DIR)/usr/lib/perl -CPANMINUS_PERL_SITELIB = $(TARGET_DIR)/usr/lib/perl -CPANMINUS_PERL_ARCHLIB = $(CPANMINUS_PERL_LIB)/$(CPANMINUS_ARCHNAME) +CPANMINUS_PERL_LIB = $(STAGING_DIR)/usr/lib/perl5 +CPANMINUS_PERL_SITELIB = $(TARGET_DIR)/usr/lib/perl5/site_perl/$(PERL_VERSION) +CPANMINUS_PERL_ARCHLIB = $(CPANMINUS_PERL_LIB)/$(PERL_VERSION)/$(CPANMINUS_ARCHNAME) CPANMINUS_PERL_SITEARCH = $(CPANMINUS_PERL_SITELIB)/$(CPANMINUS_ARCHNAME) CPANMINUS_PERL5LIB = $(CPANMINUS_PERL_SITEARCH):$(CPANMINUS_PERL_SITELIB):$(CPANMINUS_PERL_ARCHLIB):$(CPANMINUS_PERL_LIB) ifneq ($(BR2_PACKAGE_CPANMINUS_MIRROR),"") @@ -27,8 +27,8 @@ define CPANMINUS_INSTALL_TARGET_CMDS echo "PERL5LIB=$(CPANMINUS_PERL5LIB) $(CPANMINUS_RUN_PERL) \"\$$@\"" >>$(@D)/run_perl chmod +x $(@D)/run_perl PERL5LIB=$(CPANMINUS_PERL5LIB) \ - PERL_MM_OPT="DESTDIR=$(CPANMINUS_PERL_SITELIB) PERL=$(@D)/run_perl PERL_LIB=$(CPANMINUS_PERL_LIB) PERL_ARCHLIB=$(CPANMINUS_PERL_ARCHLIB)" \ - PERL_MB_OPT="--destdir $(CPANMINUS_PERL_SITELIB)" \ + PERL_MM_OPT="DESTDIR=$(TARGET_DIR) PERL=$(@D)/run_perl PERL_LIB=$(CPANMINUS_PERL_LIB) PERL_ARCHLIB=$(CPANMINUS_PERL_ARCHLIB)" \ + PERL_MB_OPT="--destdir $(TARGET_DIR)" \ RUN_PERL="$(@D)/run_perl" \ $(CPANMINUS_RUN_PERL) $(@D)/cpanm \ --perl=$(@D)/run_perl \ @@ -36,7 +36,7 @@ define CPANMINUS_INSTALL_TARGET_CMDS --no-man-pages \ $(CPANMINUS_MIRROR) \ $(call qstrip,$(BR2_PACKAGE_CPANMINUS_MODULES)) - -find $(CPANMINUS_PERL_SITEARCH) -type f -name *.bs -exec rm -f {} \; + -find $(CPANMINUS_PERL_SITELIB) -type f -name *.bs -exec rm -f {} \; endef else define CPANMINUS_INSTALL_TARGET_CMDS diff --git a/package/crosstool-ng/crosstool-ng.mk b/package/crosstool-ng/crosstool-ng.mk index d3ee5f8c9b..8d98db4c18 100644 --- a/package/crosstool-ng/crosstool-ng.mk +++ b/package/crosstool-ng/crosstool-ng.mk @@ -11,7 +11,7 @@ CROSSTOOL_NG_INSTALL_TARGET = NO CROSSTOOL_NG_MAKE = $(MAKE1) HOST_CROSSTOOL_NG_DEPENDENCIES = \ - $(if $(BR2_CCACHE),host-ccache) host-gawk \ + host-gawk \ host-automake host-gperf host-bison host-flex \ host-texinfo diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in new file mode 100644 index 0000000000..a8dffc6d46 --- /dev/null +++ b/package/cryptsetup/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_CRYPTSETUP + bool "cryptsetup" + select BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_POPT + select BR2_PACKAGE_LVM2 + select BR2_PACKAGE_E2FSPROGS + depends on BR2_LARGEFILE # lvm2, util-linux + depends on BR2_USE_MMU # lvm2 + depends on BR2_USE_WCHAR # util-linux + help + This tool helps manipulate dm-crypt and luks partitions for + on-disk encryption. + + https://code.google.com/p/cryptsetup/ + +comment "cryptsetup needs largefile and wchar support in toolchain" + depends on !BR2_LARGEFILE || !BR2_USE_WCHAR diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk new file mode 100644 index 0000000000..48d37f64bb --- /dev/null +++ b/package/cryptsetup/cryptsetup.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# cryptsetup +# +################################################################################ + +CRYPTSETUP_VERSION = 1.6.2 +CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.bz2 +CRYPTSETUP_SITE = http://cryptsetup.googlecode.com/files +CRYPTSETUP_CONF_ENV += LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config +CRYPTSETUP_DEPENDENCIES = lvm2 popt e2fsprogs libgcrypt host-pkgconf +CRYPTSETUP_LICENSE = GPLv2+ (programs), LGPLv2.1+ (library) +CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL + +$(eval $(autotools-package)) diff --git a/package/duma/Config.in b/package/duma/Config.in new file mode 100644 index 0000000000..d233062b0a --- /dev/null +++ b/package/duma/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_DUMA + bool "duma" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + help + D.U.M.A. - Detect Unintended Memory Access. A fork of the + Electric Fence library. Detects buffer overflow and + underflow, and also memory leaks. + + http://duma.sourceforge.net + +if BR2_PACKAGE_DUMA + +config BR2_PACKAGE_DUMA_NO_LEAKDETECTION + bool "disable memory leak detection" + +endif # BR2_PACKAGE_DUMA + +comment "duma requires C++ and thread support in toolchain" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/duma/duma-01-fix-cross-compilation.patch b/package/duma/duma-01-fix-cross-compilation.patch new file mode 100644 index 0000000000..eceaf06bec --- /dev/null +++ b/package/duma/duma-01-fix-cross-compilation.patch @@ -0,0 +1,37 @@ +Allow cross compilation. Adapted from crosstool-ng. + +Signed-off-by: Baruch Siach + +Index: b/GNUmakefile +=================================================================== +--- a/GNUmakefile ++++ b/GNUmakefile +@@ -93,10 +93,6 @@ + # also define 'WIN32' + + # some defaults: +-CC=gcc +-CXX=g++ +-AR=ar +-RANLIB=ranlib + INSTALL=install + RM=rm + RMFORCE=rm -f +@@ -471,7 +467,7 @@ + + createconf$(EXEPOSTFIX): createconf.o + - $(RMFORCE) createconf$(EXEPOSTFIX) +- $(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX) ++ $(CC_FOR_BUILD) $(HOST_CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX) + + tstheap$(EXEPOSTFIX): libduma.a tstheap.o + - $(RMFORCE) tstheap$(EXEPOSTFIX) +@@ -532,7 +528,7 @@ + # define rules how to build objects for createconf + # + createconf.o: +- $(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@ ++ $(CC_FOR_BUILD) $(HOST_CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@ + + + # diff --git a/package/duma/duma.mk b/package/duma/duma.mk new file mode 100644 index 0000000000..93ae16e48e --- /dev/null +++ b/package/duma/duma.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# duma +# +################################################################################ + +DUMA_VERSION = 2_5_15 +DUMA_SOURCE = duma_$(DUMA_VERSION).tar.gz +DUMA_SITE = http://downloads.sourceforge.net/project/duma/duma/2.5.15 +DUMA_LICENSE = GPLv2+ LGPLv2.1+ +DUMA_LICENSE_FILES = COPYING-GPL COPYING-LGPL + +DUMA_INSTALL_STAGING = YES + +DUMA_OPTIONS = \ + $(if $(BR2_PACKAGE_DUMA_NO_LEAKDETECTION),-DDUMA_LIB_NO_LEAKDETECTION) + +# The dependency of some source files in duma_config.h, which is generated at +# build time, is not specified in the Makefile. Force non-parallel build. +define DUMA_BUILD_CMDS + $(MAKE1) $(TARGET_CONFIGURE_OPTS) \ + DUMA_OPTIONS="$(DUMA_OPTIONS)" \ + $(DUMA_CPP) -C $(@D) +endef + +define DUMA_INSTALL_STAGING_CMDS + $(MAKE) prefix=$(STAGING_DIR)/usr install -C $(@D) +endef + +define DUMA_INSTALL_TARGET_CMDS + $(MAKE) prefix=$(TARGET_DIR)/usr install -C $(@D) +endef + +$(eval $(generic-package)) diff --git a/package/harfbuzz/Config.in b/package/harfbuzz/Config.in new file mode 100644 index 0000000000..88e4740b14 --- /dev/null +++ b/package/harfbuzz/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_HARFBUZZ + bool "harfbuzz" + depends on BR2_INSTALL_LIBSTDCPP + help + HarfBuzz is an OpenType text shaping engine + + http://www.freedesktop.org/wiki/Software/HarfBuzz/ + + Harfbuzz can make optional use of cairo, freetype, + glib2 and icu packages if they are selected. + +comment "harfbuzz requires a toolchain with C++ support" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/harfbuzz/harfbuzz.mk b/package/harfbuzz/harfbuzz.mk new file mode 100644 index 0000000000..00651fd6c7 --- /dev/null +++ b/package/harfbuzz/harfbuzz.mk @@ -0,0 +1,44 @@ +################################################################################ +# +# harfbuzz +# +################################################################################ + +HARFBUZZ_VERSION = 0.9.19 +HARFBUZZ_SITE = http://www.freedesktop.org/software/harfbuzz/release/ +HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 +HARFBUZZ_LICENSE = MIT, ISC (ucdn library), ICU License (icu support library) +HARFBUZZ_LICENSE_FILES = COPYING src/hb-ucdn/COPYING src/hb-icu-le/COPYING +HARFBUZZ_INSTALL_STAGING = YES + +HARFBUZZ_CONF_OPT = --without-coretext --without-uniscribe --without-graphite2 + +ifeq ($(BR2_PACKAGE_CAIRO),y) + HARFBUZZ_DEPENDENCIES += cairo + HARFBUZZ_CONF_OPT += --with-cairo=yes +else + HARFBUZZ_CONF_OPT += --with-cairo=no +endif + +ifeq ($(BR2_PACKAGE_FREETYPE),y) + HARFBUZZ_DEPENDENCIES += freetype + HARFBUZZ_CONF_OPT += --with-freetype=yes +else + HARFBUZZ_CONF_OPT += --with-freetype=no +endif + +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) + HARFBUZZ_DEPENDENCIES += libglib2 + HARFBUZZ_CONF_OPT += --with-glib=yes +else + HARFBUZZ_CONF_OPT += --with-glib=no +endif + +ifeq ($(BR2_PACKAGE_ICU),y) + HARFBUZZ_DEPENDENCIES += icu + HARFBUZZ_CONF_OPT += --with-icu=yes +else + HARFBUZZ_CONF_OPT += --with-icu=no +endif + +$(eval $(autotools-package)) diff --git a/package/kobs-ng/Config.in b/package/kobs-ng/Config.in new file mode 100644 index 0000000000..1f6b2d16cc --- /dev/null +++ b/package/kobs-ng/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_KOBS_NG + bool "kobs-ng" + depends on BR2_arm + help + The kobs-ng tool is used for writing images to NAND on i.MX + platforms. + + This utility is provided by Freescale as-is and doesn't have an + upstream. diff --git a/package/kobs-ng/kobs-ng-fix-mtd-defines.patch b/package/kobs-ng/kobs-ng-fix-mtd-defines.patch new file mode 100644 index 0000000000..39d7474a1e --- /dev/null +++ b/package/kobs-ng/kobs-ng-fix-mtd-defines.patch @@ -0,0 +1,73 @@ +Newer kernel headers renamed mtd mode defines and no longer support +MEMSETOOBSEL. Allow code to work with both older and newer kernel +versions. + +Signed-off-by: Paul B. Henson + +diff -u -r kobs-ng-3.0.35-4.0.0-orig/src/mtd.c kobs-ng-3.0.35-4.0.0/src/mtd.c +--- kobs-ng-3.0.35-4.0.0-orig/src/mtd.c 2012-12-17 22:37:40.000000000 -0800 ++++ kobs-ng-3.0.35-4.0.0/src/mtd.c 2013-07-28 19:39:59.000000000 -0700 +@@ -852,8 +852,11 @@ + mp = &md->part[i]; + + if (mp->fd != -1) { ++/* Newer kernels dropped MEMSETOOBSEL */ ++#ifdef MEMSETOOBSEL + (void)ioctl(mp->fd, MEMSETOOBSEL, + &mp->old_oobinfo); ++#endif + close(mp->fd); + } + +@@ -896,6 +899,8 @@ + continue; + } + ++/* Newer kernels dropped MEMSETOOBSEL */ ++#ifdef MEMSETOOBSEL + if (r == -ENOTTY) { + r = ioctl(mp->fd, MEMSETOOBSEL, &mp->old_oobinfo); + if (r != 0) { +@@ -904,6 +909,7 @@ + } + mp->oobinfochanged = 0; + } ++#endif + } else { + r = ioctl(mp->fd, MTDFILEMODE, (void *)MTD_MODE_RAW); + if (r != 0 && r != -ENOTTY) { +@@ -911,6 +917,8 @@ + continue; + } + ++/* Newer kernels dropped MEMSETOOBSEL */ ++#ifdef MEMSETOOBSEL + if (r == -ENOTTY) { + r = ioctl(mp->fd, MEMSETOOBSEL, &none_oobinfo); + if (r != 0) { +@@ -920,6 +928,7 @@ + mp->oobinfochanged = 1; + } else + mp->oobinfochanged = 2; ++#endif + } + + mp->ecc = ecc; +diff -u -r kobs-ng-3.0.35-4.0.0-orig/src/mtd.h kobs-ng-3.0.35-4.0.0/src/mtd.h +--- kobs-ng-3.0.35-4.0.0-orig/src/mtd.h 2012-12-17 22:37:40.000000000 -0800 ++++ kobs-ng-3.0.35-4.0.0/src/mtd.h 2013-07-28 19:33:57.000000000 -0700 +@@ -31,6 +31,14 @@ + #include "BootControlBlocks.h" + #include "rom_nand_hamming_code_ecc.h" + ++// Newer kernel headers renamed define ++#ifndef MTD_MODE_NORMAL ++#define MTD_MODE_NORMAL MTD_FILE_MODE_NORMAL ++#endif ++#ifndef MTD_MODE_RAW ++#define MTD_MODE_RAW MTD_FILE_MODE_RAW ++#endif ++ + //------------------------------------------------------------------------------ + // Re-definitions of true and false, because the standard ones aren't good + // enough? diff --git a/package/kobs-ng/kobs-ng.mk b/package/kobs-ng/kobs-ng.mk new file mode 100644 index 0000000000..f7e65e7dd2 --- /dev/null +++ b/package/kobs-ng/kobs-ng.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kobs-ng +# +################################################################################ + +# kobs-ng versions have never made much sense :( +KOBS_NG_VERSION = 3.0.35-4.0.0 +KOBS_NG_SITE = http://repository.timesys.com/buildsources/k/kobs-ng/kobs-ng-$(KOBS_NG_VERSION)/ +KOBS_NG_LICENSE = GPLv2+ +KOBS_NG_LICENSE_FILES = COPYING + +$(eval $(autotools-package)) diff --git a/package/luasec/Config.in b/package/luasec/Config.in new file mode 100644 index 0000000000..2d303c184b --- /dev/null +++ b/package/luasec/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LUASEC + bool "luasec" + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LUASOCKET + help + LuaSec is a binding for OpenSSL library to provide TLS/SSL + communication. + + http://www.inf.puc-rio.br/~brunoos/luasec/ diff --git a/package/luasec/luasec.mk b/package/luasec/luasec.mk new file mode 100644 index 0000000000..053309f8b3 --- /dev/null +++ b/package/luasec/luasec.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# luasec +# +################################################################################ + +LUASEC_VERSION = 0.4.1 +LUASEC_SITE = http://www.inf.puc-rio.br/~brunoos/luasec/download/ +LUASEC_LICENSE = MIT +LUASEC_LICENSE_FILES = LICENSE +LUASEC_DEPENDENCIES = lua openssl + +define LUASEC_BUILD_CMDS + $(MAKE) -C $(@D) CC="$(TARGET_CC)" LD="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -fPIC" \ + LDFLAGS="$(TARGET_LDFLAGS) -shared" linux +endef + +define LUASEC_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/share/lua + mkdir -p $(TARGET_DIR)/usr/lib/lua + $(MAKE) -C $(@D) \ + LUAPATH="$(TARGET_DIR)/usr/share/lua" \ + LUACPATH="$(TARGET_DIR)/usr/lib/lua" install +endef + +define LUASEC_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/usr/lib/lua/ssl.so + rm -rf $(TARGET_DIR)/usr/share/lua/ssl + rm -f $(TARGET_DIR)/usr/share/lua/ssl.lua +endef + +$(eval $(generic-package)) diff --git a/package/luasql/Config.in b/package/luasql/Config.in new file mode 100644 index 0000000000..4dd011a2aa --- /dev/null +++ b/package/luasql/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_LUASQL + bool "luasql" + help + LuaSQL is a simple interface from Lua to a DBMS. + + http://www.keplerproject.org/luasql + +if BR2_PACKAGE_LUASQL +choice + prompt "LuaSQL Driver" + help + Select backend driver for LuaSQL. + +config BR2_PACKAGE_LUASQL_DRIVER_SQLITE3 + bool "SQLite3" + select BR2_PACKAGE_SQLITE + help + Select if you wish to use the SQLite3 LuaSQL driver. + +endchoice +endif diff --git a/package/luasql/luasql.mk b/package/luasql/luasql.mk new file mode 100644 index 0000000000..6fbdccc9be --- /dev/null +++ b/package/luasql/luasql.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# luasql +# +################################################################################ + +LUASQL_VERSION = v2.3.0 +LUASQL_SITE = https://github.com/keplerproject/luasql/tarball/$(LUASQL_VERSION) +LUASQL_LICENSE = MIT +LUASQL_LICENSE_FILES = README +LUASQL_DEPENDENCIES = lua + +LUASQL_MAKE_FLAGS = \ + CC="$(TARGET_CC)" \ + LD="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -fPIC" + +ifeq ($(BR2_PACKAGE_LUASQL_DRIVER_SQLITE3),y) +LUASQL_DEPENDENCIES += sqlite +LUASQL_MAKE_FLAGS += \ + T="sqlite3" \ + DRIVER_LIBS="-L$(STAGING_DIR)/usr/lib -lsqlite3" +endif + +define LUASQL_BUILD_CMDS + $(MAKE) -C $(@D) $(LUASQL_MAKE_FLAGS) +endef + +define LUASQL_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) $(LUASQL_MAKE_FLAGS) PREFIX=/usr \ + LUA_DIR="$(TARGET_DIR)/usr/share/lua" \ + LUA_LIBDIR="$(TARGET_DIR)/usr/lib/lua" install +endef + +define LUASQL_UNINSTALL_TARGET_CMDS + rm -rf $(TARGET_DIR)/usr/lib/lua/luasql +endef + +$(eval $(generic-package)) diff --git a/package/lxc/Config.in b/package/lxc/Config.in new file mode 100644 index 0000000000..5e6e20815e --- /dev/null +++ b/package/lxc/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_LXC + bool "lxc" + select BR2_PACKAGE_LIBCAP + depends on BR2_INET_IPV6 + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Linux Containers (LXC), provides the ability to group and isolate + of a set of processes in a jail by virtualizing and accounting the + kernel resources. It is similar to Linux-Vserver or Openvz. + + http://lxc.sourceforge.net/ + +comment "lxc requires a toolchain with IPv6 and thread support" + depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/lxc/lxc.mk b/package/lxc/lxc.mk new file mode 100644 index 0000000000..4e069029d5 --- /dev/null +++ b/package/lxc/lxc.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lxc +# +################################################################################ + +LXC_VERSION = 0.9.0 +LXC_SITE = http://downloads.sourceforge.net/project/lxc/lxc/lxc-$(LXC_VERSION) +LXC_LICENSE = LGPLv2.1+ +LXC_LICENSE_FILES = COPYING +LXC_DEPENDENCIES = libcap +LXC_CONF_OPT = --disable-apparmor + +$(eval $(autotools-package)) diff --git a/package/mkpasswd/config.h b/package/mkpasswd/config.h new file mode 100644 index 0000000000..f345074121 --- /dev/null +++ b/package/mkpasswd/config.h @@ -0,0 +1,95 @@ +/* Program version */ +#define VERSION "5.0.26" + +/* Configurable features */ + +/* Always hide legal disclaimers */ +#undef ALWAYS_HIDE_DISCL + +/* Default server */ +#define DEFAULTSERVER "whois.arin.net" + +/* Configuration file */ +/* +#define CONFIG_FILE "/etc/whois.conf" +*/ + + +/* autoconf in cpp macros */ +#ifdef linux +# define ENABLE_NLS +#endif + +#ifdef __FreeBSD__ +/* which versions? */ +# define HAVE_GETOPT_LONG +# define HAVE_GETADDRINFO +# define ENABLE_NLS +# ifndef LOCALEDIR +# define LOCALEDIR "/usr/local/share/locale" +# endif +#endif + +/* needs unistd.h */ +#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L +# define HAVE_GETADDRINFO +# define HAVE_REGEXEC +#endif + +#if defined __APPLE__ && defined __MACH__ +# define HAVE_GETOPT_LONG +# define HAVE_GETADDRINFO +#endif + +#if defined __GLIBC__ +# define HAVE_GETOPT_LONG +# if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1 +# define HAVE_GETADDRINFO +# endif +# if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 7 +# define HAVE_SHA_CRYPT +# endif +#endif + +/* Unknown versions of Solaris */ +#if defined __SVR4 && defined __sun +# define HAVE_SHA_CRYPT +# define HAVE_SOLARIS_CRYPT_GENSALT +#endif + +/* FIXME: which systems lack this? */ +#define HAVE_GETTIMEOFDAY +/* FIXME: disabled because it does not parse addresses with a netmask length. + * The code using it needs to be either fixed or removed. +#define HAVE_INET_PTON +*/ + +/* + * Please send patches to correctly ignore old releases which lack a RNG + * and add more systems which have one. + */ +#ifdef RANDOM_DEVICE +#elif defined __GLIBC__ \ + || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ \ + /* AIX >= 5.2? */ \ + || defined _AIX52 \ + /* HP-UX >= B.11.11.09? */ \ + || defined __hpux \ + /* OS X: */ \ + || (defined __APPLE__ && defined __MACH__) \ + /* Solaris >= 9 (this is >= 7): */ \ + || (defined __SVR4 && defined __sun && defined SUSv2) \ + /* Tru64 UNIX >= 5.1B? */ \ + || defined __osf +# define RANDOM_DEVICE "/dev/urandom" +#endif + +#ifdef ENABLE_NLS +# ifndef NLS_CAT_NAME +# define NLS_CAT_NAME "whois" +# endif +# ifndef LOCALEDIR +# define LOCALEDIR "/usr/share/locale" +# endif +#endif + diff --git a/package/mkpasswd/mkpasswd.c b/package/mkpasswd/mkpasswd.c new file mode 100644 index 0000000000..5820f32501 --- /dev/null +++ b/package/mkpasswd/mkpasswd.c @@ -0,0 +1,456 @@ +/* + * Copyright (C) 2001-2008 Marco d'Itri + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* for crypt, snprintf and strcasecmp */ +#define _XOPEN_SOURCE +#define _BSD_SOURCE + +/* System library */ +#include +#include +#include +#include "config.h" +#ifdef HAVE_GETOPT_LONG +#include +#endif +#include +#include +#include +#include +#ifdef HAVE_XCRYPT +#include +#include +#endif +#ifdef HAVE_LINUX_CRYPT_GENSALT +#define _OW_SOURCE +#include +#endif +#ifdef HAVE_GETTIMEOFDAY +#include +#endif + +/* Application-specific */ +#include "utils.h" + +/* Global variables */ +#ifdef HAVE_GETOPT_LONG +static const struct option longopts[] = { + {"method", optional_argument, NULL, 'm'}, + /* for backward compatibility with versions < 4.7.25 (< 20080321): */ + {"hash", optional_argument, NULL, 'H'}, + {"help", no_argument, NULL, 'h'}, + {"password-fd", required_argument, NULL, 'P'}, + {"stdin", no_argument, NULL, 's'}, + {"salt", required_argument, NULL, 'S'}, + {"rounds", required_argument, NULL, 'R'}, + {"version", no_argument, NULL, 'V'}, + {NULL, 0, NULL, 0 } +}; +#else +extern char *optarg; +extern int optind; +#endif + +static const char valid_salts[] = "abcdefghijklmnopqrstuvwxyz" +"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./"; + +struct crypt_method { + const char *method; /* short name used by the command line option */ + const char *prefix; /* salt prefix */ + const unsigned int minlen; /* minimum salt length */ + const unsigned int maxlen; /* maximum salt length */ + const unsigned int rounds; /* supports a variable number of rounds */ + const char *desc; /* long description for the methods list */ +}; + +static const struct crypt_method methods[] = { + /* method prefix minlen, maxlen rounds description */ + { "des", "", 2, 2, 0, + N_("standard 56 bit DES-based crypt(3)") }, + { "md5", "$1$", 8, 8, 0, "MD5" }, +#if defined OpenBSD || defined FreeBSD || (defined __SVR4 && defined __sun) + { "bf", "$2a$", 22, 22, 1, "Blowfish" }, +#endif +#if defined HAVE_LINUX_CRYPT_GENSALT + { "bf", "$2a$", 22, 22, 1, "Blowfish, system-specific on 8-bit chars" }, + /* algorithm 2y fixes CVE-2011-2483 */ + { "bfy", "$2y$", 22, 22, 1, "Blowfish, correct handling of 8-bit chars" }, +#endif +#if defined FreeBSD + { "nt", "$3$", 0, 0, 0, "NT-Hash" }, +#endif +#if defined HAVE_SHA_CRYPT + /* http://people.redhat.com/drepper/SHA-crypt.txt */ + { "sha-256", "$5$", 8, 16, 1, "SHA-256" }, + { "sha-512", "$6$", 8, 16, 1, "SHA-512" }, +#endif + /* http://www.crypticide.com/dropsafe/article/1389 */ + /* + * Actually the maximum salt length is arbitrary, but Solaris by default + * always uses 8 characters: + * http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/ \ + * usr/src/lib/crypt_modules/sunmd5/sunmd5.c#crypt_gensalt_impl + */ +#if defined __SVR4 && defined __sun + { "sunmd5", "$md5$", 8, 8, 1, "SunMD5" }, +#endif + { NULL, NULL, 0, 0, 0, NULL } +}; + +void generate_salt(char *const buf, const unsigned int len); +void *get_random_bytes(const int len); +void display_help(int error); +void display_version(void); +void display_methods(void); + +int main(int argc, char *argv[]) +{ + int ch, i; + int password_fd = -1; + unsigned int salt_minlen = 0; + unsigned int salt_maxlen = 0; + unsigned int rounds_support = 0; + const char *salt_prefix = NULL; + const char *salt_arg = NULL; + unsigned int rounds = 0; + char *salt = NULL; + char rounds_str[30]; + char *password = NULL; + +#ifdef ENABLE_NLS + setlocale(LC_ALL, ""); + bindtextdomain(NLS_CAT_NAME, LOCALEDIR); + textdomain(NLS_CAT_NAME); +#endif + + /* prepend options from environment */ + argv = merge_args(getenv("MKPASSWD_OPTIONS"), argv, &argc); + + while ((ch = GETOPT_LONGISH(argc, argv, "hH:m:5P:R:sS:V", longopts, 0)) + > 0) { + switch (ch) { + case '5': + optarg = (char *) "md5"; + /* fall through */ + case 'm': + case 'H': + if (!optarg || strcaseeq("help", optarg)) { + display_methods(); + exit(0); + } + for (i = 0; methods[i].method != NULL; i++) + if (strcaseeq(methods[i].method, optarg)) { + salt_prefix = methods[i].prefix; + salt_minlen = methods[i].minlen; + salt_maxlen = methods[i].maxlen; + rounds_support = methods[i].rounds; + break; + } + if (!salt_prefix) { + fprintf(stderr, _("Invalid method '%s'.\n"), optarg); + exit(1); + } + break; + case 'P': + { + char *p; + password_fd = strtol(optarg, &p, 10); + if (p == NULL || *p != '\0' || password_fd < 0) { + fprintf(stderr, _("Invalid number '%s'.\n"), optarg); + exit(1); + } + } + break; + case 'R': + { + char *p; + rounds = strtol(optarg, &p, 10); + if (p == NULL || *p != '\0' || rounds < 0) { + fprintf(stderr, _("Invalid number '%s'.\n"), optarg); + exit(1); + } + } + break; + case 's': + password_fd = 0; + break; + case 'S': + salt_arg = optarg; + break; + case 'V': + display_version(); + exit(0); + case 'h': + display_help(EXIT_SUCCESS); + default: + fprintf(stderr, _("Try '%s --help' for more information.\n"), + argv[0]); + exit(1); + } + } + argc -= optind; + argv += optind; + + if (argc == 2 && !salt_arg) { + password = argv[0]; + salt_arg = argv[1]; + } else if (argc == 1) { + password = argv[0]; + } else if (argc == 0) { + } else { + display_help(EXIT_FAILURE); + } + + /* default: DES password */ + if (!salt_prefix) { + salt_minlen = methods[0].minlen; + salt_maxlen = methods[0].maxlen; + salt_prefix = methods[0].prefix; + } + + if (streq(salt_prefix, "$2a$") || streq(salt_prefix, "$2y$")) { + /* OpenBSD Blowfish and derivatives */ + if (rounds <= 5) + rounds = 5; + /* actually for 2a/2y it is the logarithm of the number of rounds */ + snprintf(rounds_str, sizeof(rounds_str), "%02u$", rounds); + } else if (rounds_support && rounds) + snprintf(rounds_str, sizeof(rounds_str), "rounds=%u$", rounds); + else + rounds_str[0] = '\0'; + + if (salt_arg) { + unsigned int c = strlen(salt_arg); + if (c < salt_minlen || c > salt_maxlen) { + if (salt_minlen == salt_maxlen) + fprintf(stderr, ngettext( + "Wrong salt length: %d byte when %d expected.\n", + "Wrong salt length: %d bytes when %d expected.\n", c), + c, salt_maxlen); + else + fprintf(stderr, ngettext( + "Wrong salt length: %d byte when %d <= n <= %d" + " expected.\n", + "Wrong salt length: %d bytes when %d <= n <= %d" + " expected.\n", c), + c, salt_minlen, salt_maxlen); + exit(1); + } + while (c-- > 0) { + if (strchr(valid_salts, salt_arg[c]) == NULL) { + fprintf(stderr, _("Illegal salt character '%c'.\n"), + salt_arg[c]); + exit(1); + } + } + + salt = NOFAIL(malloc(strlen(salt_prefix) + strlen(rounds_str) + + strlen(salt_arg) + 1)); + *salt = '\0'; + strcat(salt, salt_prefix); + strcat(salt, rounds_str); + strcat(salt, salt_arg); + } else { +#ifdef HAVE_SOLARIS_CRYPT_GENSALT +#error "This code path is untested on Solaris. Please send a patch." + salt = crypt_gensalt(salt_prefix, NULL); + if (!salt) + perror(stderr, "crypt_gensalt"); +#elif defined HAVE_LINUX_CRYPT_GENSALT + void *entropy = get_random_bytes(64); + + salt = crypt_gensalt(salt_prefix, rounds, entropy, 64); + if (!salt) { + fprintf(stderr, "crypt_gensalt failed.\n"); + exit(2); + } + free(entropy); +#else + unsigned int salt_len = salt_maxlen; + + if (salt_minlen != salt_maxlen) { /* salt length can vary */ + srand(time(NULL) + getpid()); + salt_len = rand() % (salt_maxlen - salt_minlen + 1) + salt_minlen; + } + + salt = NOFAIL(malloc(strlen(salt_prefix) + strlen(rounds_str) + + salt_len + 1)); + *salt = '\0'; + strcat(salt, salt_prefix); + strcat(salt, rounds_str); + generate_salt(salt + strlen(salt), salt_len); +#endif + } + + if (password) { + } else if (password_fd != -1) { + FILE *fp; + char *p; + + if (isatty(password_fd)) + fprintf(stderr, _("Password: ")); + password = NOFAIL(malloc(128)); + fp = fdopen(password_fd, "r"); + if (!fp) { + perror("fdopen"); + exit(2); + } + if (!fgets(password, 128, fp)) { + perror("fgets"); + exit(2); + } + + p = strpbrk(password, "\n\r"); + if (p) + *p = '\0'; + } else { + password = getpass(_("Password: ")); + if (!password) { + perror("getpass"); + exit(2); + } + } + + { + const char *result; + result = crypt(password, salt); + /* xcrypt returns "*0" on errors */ + if (!result || result[0] == '*') { + fprintf(stderr, "crypt failed.\n"); + exit(2); + } + /* yes, using strlen(salt_prefix) on salt. It's not + * documented whether crypt_gensalt may change the prefix */ + if (!strneq(result, salt, strlen(salt_prefix))) { + fprintf(stderr, _("Method not supported by crypt(3).\n")); + exit(2); + } + printf("%s\n", result); + } + + exit(0); +} + +#ifdef RANDOM_DEVICE +void* get_random_bytes(const int count) +{ + char *buf; + int fd; + + buf = NOFAIL(malloc(count)); + fd = open(RANDOM_DEVICE, O_RDONLY); + if (fd < 0) { + perror("open(" RANDOM_DEVICE ")"); + exit(2); + } + if (read(fd, buf, count) != count) { + if (count < 0) + perror("read(" RANDOM_DEVICE ")"); + else + fprintf(stderr, "Short read of %s.\n", RANDOM_DEVICE); + exit(2); + } + close(fd); + + return buf; +} +#endif + +#ifdef RANDOM_DEVICE + +void generate_salt(char *const buf, const unsigned int len) +{ + unsigned int i; + + unsigned char *entropy = get_random_bytes(len * sizeof(unsigned char)); + for (i = 0; i < len; i++) + buf[i] = valid_salts[entropy[i] % (sizeof valid_salts - 1)]; + buf[i] = '\0'; +} + +#else /* RANDOM_DEVICE */ + +void generate_salt(char *const buf, const unsigned int len) +{ + unsigned int i; + +# ifdef HAVE_GETTIMEOFDAY + struct timeval tv; + + gettimeofday(&tv, NULL); + srand(tv.tv_sec ^ tv.tv_usec); + +# else /* HAVE_GETTIMEOFDAY */ +# warning "This system lacks a strong enough random numbers generator!" + + /* + * The possible values of time over one year are 31536000, which is + * two orders of magnitude less than the allowed entropy range (2^32). + */ + srand(time(NULL) + getpid()); + +# endif /* HAVE_GETTIMEOFDAY */ + + for (i = 0; i < len; i++) + buf[i] = valid_salts[rand() % (sizeof valid_salts - 1)]; + buf[i] = '\0'; +} + +#endif /* RANDOM_DEVICE */ + +void display_help(int error) +{ + fprintf((EXIT_SUCCESS == error) ? stdout : stderr, + _("Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n" + "Crypts the PASSWORD using crypt(3).\n\n")); + fprintf(stderr, _( +" -m, --method=TYPE select method TYPE\n" +" -5 like --method=md5\n" +" -S, --salt=SALT use the specified SALT\n" +" -R, --rounds=NUMBER use the specified NUMBER of rounds\n" +" -P, --password-fd=NUM read the password from file descriptor NUM\n" +" instead of /dev/tty\n" +" -s, --stdin like --password-fd=0\n" +" -h, --help display this help and exit\n" +" -V, --version output version information and exit\n" +"\n" +"If PASSWORD is missing then it is asked interactively.\n" +"If no SALT is specified, a random one is generated.\n" +"If TYPE is 'help', available methods are printed.\n" +"\n" +"Report bugs to %s.\n"), ""); + exit(error); +} + +void display_version(void) +{ + printf("mkpasswd %s\n\n", VERSION); + puts("Copyright (C) 2001-2008 Marco d'Itri\n" +"This is free software; see the source for copying conditions. There is NO\n" +"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."); +} + +void display_methods(void) +{ + unsigned int i; + + printf(_("Available methods:\n")); + for (i = 0; methods[i].method != NULL; i++) + printf("%s\t%s\n", methods[i].method, methods[i].desc); +} + diff --git a/package/mkpasswd/mkpasswd.mk b/package/mkpasswd/mkpasswd.mk new file mode 100644 index 0000000000..dc6de19bc2 --- /dev/null +++ b/package/mkpasswd/mkpasswd.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# mkpasswd +# +################################################################################ + +# source included in buildroot, taken from +# https://github.com/rfc1036/whois/blob/master/ +# at revision 5a0f08500fa51608b6d3b73ee338be38c692eadb +HOST_MKPASSWD_SOURCE = +HOST_MKPASSWD_LICENSE = GPLv2+ + +define HOST_MKPASSWD_BUILD_CMDS + $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ + package/mkpasswd/mkpasswd.c package/mkpasswd/utils.c \ + -o $(@D)/mkpasswd -lcrypt +endef + +define HOST_MKPASSWD_INSTALL_CMDS + $(INSTALL) -D -m 755 $(@D)/mkpasswd $(HOST_DIR)/usr/bin/mkpasswd +endef + +$(eval $(host-generic-package)) + +MKPASSWD = $(HOST_DIR)/usr/bin/mkpasswd diff --git a/package/mkpasswd/utils.c b/package/mkpasswd/utils.c new file mode 100644 index 0000000000..254bf2ac68 --- /dev/null +++ b/package/mkpasswd/utils.c @@ -0,0 +1,96 @@ +/* + * Copyright 1999-2008 by Marco d'Itri . + * + * do_nofail and merge_args come from the module-init-tools package. + * Copyright 2001 by Rusty Russell. + * Copyright 2002, 2003 by Rusty Russell, IBM Corporation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +/* for strdup */ +#define _XOPEN_SOURCE 500 + +/* System library */ +#include +#include +#include +#include +#include + +/* Application-specific */ +#include "utils.h" + +void *do_nofail(void *ptr, const char *file, const int line) +{ + if (ptr) + return ptr; + + err_quit("Memory allocation failure at %s:%d.", file, line); +} + +/* Prepend options from a string. */ +char **merge_args(char *args, char *argv[], int *argc) +{ + char *arg, *argstring; + char **newargs = NULL; + unsigned int i, num_env = 0; + + if (!args) + return argv; + + argstring = NOFAIL(strdup(args)); + for (arg = strtok(argstring, " "); arg; arg = strtok(NULL, " ")) { + num_env++; + newargs = NOFAIL(realloc(newargs, + sizeof(newargs[0]) * (num_env + *argc + 1))); + newargs[num_env] = arg; + } + + if (!newargs) + return argv; + + /* Append commandline args */ + newargs[0] = argv[0]; + for (i = 1; i <= *argc; i++) + newargs[num_env + i] = argv[i]; + + *argc += num_env; + return newargs; +} + +/* Error routines */ +void err_sys(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + fprintf(stderr, ": %s\n", strerror(errno)); + va_end(ap); + exit(2); +} + +void err_quit(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + fputs("\n", stderr); + va_end(ap); + exit(2); +} + diff --git a/package/mkpasswd/utils.h b/package/mkpasswd/utils.h new file mode 100644 index 0000000000..0f226aee2f --- /dev/null +++ b/package/mkpasswd/utils.h @@ -0,0 +1,56 @@ +#ifndef WHOIS_UTILS_H +#define WHOIS_UTILS_H + +/* Convenience macros */ +#define streq(a, b) (strcmp(a, b) == 0) +#define strcaseeq(a, b) (strcasecmp(a, b) == 0) +#define strneq(a, b, n) (strncmp(a, b, n) == 0) +#define strncaseeq(a, b, n) (strncasecmp(a, b, n) == 0) + +#define NOFAIL(ptr) do_nofail((ptr), __FILE__, __LINE__) + +/* Portability macros */ +#ifdef __GNUC__ +# define NORETURN __attribute__((noreturn)) +#else +# define NORETURN +#endif + +#ifndef AI_IDN +# define AI_IDN 0 +#endif + +#ifndef AI_ADDRCONFIG +# define AI_ADDRCONFIG 0 +#endif + +#ifdef HAVE_GETOPT_LONG +# define GETOPT_LONGISH(c, v, o, l, i) getopt_long(c, v, o, l, i) +#else +# define GETOPT_LONGISH(c, v, o, l, i) getopt(c, v, o) +#endif + +#ifdef ENABLE_NLS +# include +# include +# define _(a) (gettext(a)) +# ifdef gettext_noop +# define N_(a) gettext_noop(a) +# else +# define N_(a) (a) +# endif +#else +# define _(a) (a) +# define N_(a) (a) +# define ngettext(a, b, c) ((c==1) ? (a) : (b)) +#endif + + +/* Prototypes */ +void *do_nofail(void *ptr, const char *file, const int line); +char **merge_args(char *args, char *argv[], int *argc); + +void err_quit(const char *fmt, ...) NORETURN; +void err_sys(const char *fmt, ...) NORETURN; + +#endif diff --git a/package/multimedia/gst1-plugins-bad/gst1-plugins-bad.mk b/package/multimedia/gst1-plugins-bad/gst1-plugins-bad.mk index 732cddf993..385522ec07 100644 --- a/package/multimedia/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/multimedia/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.0.8 +GST1_PLUGINS_BAD_VERSION = 1.0.10 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_LICENSE_FILES = COPYING COPYING.LIB diff --git a/package/multimedia/gst1-plugins-base/gst1-plugins-base.mk b/package/multimedia/gst1-plugins-base/gst1-plugins-base.mk index 1e32867efb..d3aebdad84 100644 --- a/package/multimedia/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/multimedia/gst1-plugins-base/gst1-plugins-base.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.0.8 +GST1_PLUGINS_BASE_VERSION = 1.0.10 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES diff --git a/package/multimedia/gst1-plugins-good/gst1-plugins-good-dyn-multi-udpsink-unbreak-on-IPv6-systems-after-1302.patch b/package/multimedia/gst1-plugins-good/gst1-plugins-good-dyn-multi-udpsink-unbreak-on-IPv6-systems-after-1302.patch deleted file mode 100644 index 68a996940d..0000000000 --- a/package/multimedia/gst1-plugins-good/gst1-plugins-good-dyn-multi-udpsink-unbreak-on-IPv6-systems-after-1302.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 118876702467d6063e9c9745b7d093682ad16472 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Fri, 19 Jul 2013 15:24:08 +0200 -Subject: [PATCH] (dyn|multi)udpsink: unbreak on !IPv6 systems after 130268bc - (Bind socket before using it) - -The g_socket functions only touch the error argument on errors, so clear -err back to NULL in case g_socket_new (G_SOCKET_FAMILY_IPV6) failed, as -we check for err != NULL later on to know if g_socket_bind() failed, -otherwise we errously fail on systems without IPv6 support. - -https://bugzilla.gnome.org/show_bug.cgi?id=704553 ---- - gst/udp/gstdynudpsink.c | 1 + - gst/udp/gstmultiudpsink.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/gst/udp/gstdynudpsink.c b/gst/udp/gstdynudpsink.c -index 4690bde..fadbd7f 100644 ---- a/gst/udp/gstdynudpsink.c -+++ b/gst/udp/gstdynudpsink.c -@@ -316,6 +316,7 @@ gst_dynudpsink_start (GstBaseSink * bsink) - if ((udpsink->used_socket = - g_socket_new (G_SOCKET_FAMILY_IPV6, - G_SOCKET_TYPE_DATAGRAM, G_SOCKET_PROTOCOL_UDP, &err)) == NULL) { -+ g_clear_error (&err); - udpsink->family = G_SOCKET_FAMILY_IPV4; - if ((udpsink->used_socket = g_socket_new (G_SOCKET_FAMILY_IPV4, - G_SOCKET_TYPE_DATAGRAM, G_SOCKET_PROTOCOL_UDP, &err)) == NULL) -diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c -index 92d1bac..69011c7 100644 ---- a/gst/udp/gstmultiudpsink.c -+++ b/gst/udp/gstmultiudpsink.c -@@ -868,6 +868,7 @@ gst_multiudpsink_start (GstBaseSink * bsink) - if (sink->force_ipv4 || (sink->used_socket = - g_socket_new (G_SOCKET_FAMILY_IPV6, - G_SOCKET_TYPE_DATAGRAM, G_SOCKET_PROTOCOL_UDP, &err)) == NULL) { -+ g_clear_error (&err); - if ((sink->used_socket = g_socket_new (G_SOCKET_FAMILY_IPV4, - G_SOCKET_TYPE_DATAGRAM, G_SOCKET_PROTOCOL_UDP, &err)) == NULL) - goto no_socket; --- -1.7.10.4 - diff --git a/package/multimedia/gst1-plugins-good/gst1-plugins-good.mk b/package/multimedia/gst1-plugins-good/gst1-plugins-good.mk index 614a006ac7..29b89830db 100644 --- a/package/multimedia/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/multimedia/gst1-plugins-good/gst1-plugins-good.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.0.8 +GST1_PLUGINS_GOOD_VERSION = 1.0.10 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING diff --git a/package/multimedia/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/multimedia/gst1-plugins-ugly/gst1-plugins-ugly.mk index c6c927bf9e..e666d61138 100644 --- a/package/multimedia/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/multimedia/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.0.8 +GST1_PLUGINS_UGLY_VERSION = 1.0.10 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING diff --git a/package/multimedia/gstreamer1/gstreamer1.mk b/package/multimedia/gstreamer1/gstreamer1.mk index d3db119d31..79b2b560b0 100644 --- a/package/multimedia/gstreamer1/gstreamer1.mk +++ b/package/multimedia/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.0.8 +GSTREAMER1_VERSION = 1.0.10 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = http://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES diff --git a/package/neon/Config.in b/package/neon/Config.in index f972dbbd01..e76278c37e 100644 --- a/package/neon/Config.in +++ b/package/neon/Config.in @@ -5,44 +5,37 @@ config BR2_PACKAGE_NEON http://www.webdav.org/neon/ +if BR2_PACKAGE_NEON + config BR2_PACKAGE_NEON_ZLIB bool "ZLIB support" - depends on BR2_PACKAGE_NEON select BR2_PACKAGE_ZLIB help build with ZLIB support config BR2_PACKAGE_NEON_SSL bool "SSL support" - depends on BR2_PACKAGE_NEON select BR2_PACKAGE_OPENSSL help build with SSL support -choice - prompt "XML Support" - depends on BR2_PACKAGE_NEON - help - Select which XML library to use... - none do not build with XML support - expat use expat - libxml2 use libxml2 - -config BR2_PACKAGE_NEON_NOXML - bool "none" - help - none do not build with XML support +# This is an hidden symbol other packages can select to ensure that +# Neon has XML support, either provided by Expat or libxml2. +config BR2_PACKAGE_NEON_XML + bool + select BR2_PACKAGE_NEON_EXPAT if !BR2_PACKAGE_NEON_LIBXML2 config BR2_PACKAGE_NEON_EXPAT - bool "expat" + bool "XML support with expat" select BR2_PACKAGE_EXPAT + depends on !BR2_PACKAGE_NEON_LIBXML2 help - expat use expat, a library for parsing XML. + Enable XML support in neon, using the Expat XML library. config BR2_PACKAGE_NEON_LIBXML2 - bool "libxml2" + bool "XML support with libxml2" select BR2_PACKAGE_LIBXML2 help - libxml2 use libxml2, a library to read, modify and - write XML and HTML files. -endchoice + Enable XML support in neon, using the libxml2 XML library. + +endif diff --git a/package/orbit/Config.in b/package/orbit/Config.in new file mode 100644 index 0000000000..556c46eaa3 --- /dev/null +++ b/package/orbit/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_ORBIT + bool "orbit" + # These are runtime dependencies + select BR2_PACKAGE_WSAPI + select BR2_PACKAGE_LUAFILESYSTEM + help + An MVC web framework for Lua. The design is inspired by lightweight + Ruby frameworks such as Camping + + http://keplerproject.github.com/orbit diff --git a/package/orbit/orbit-01-fix-installation.patch b/package/orbit/orbit-01-fix-installation.patch new file mode 100644 index 0000000000..ae50ad9fe5 --- /dev/null +++ b/package/orbit/orbit-01-fix-installation.patch @@ -0,0 +1,26 @@ +Fix installation commands + +The installation commands did not match the location of the source +files within the Orbit source tree. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -11,12 +11,9 @@ + mkdir -p $(LUA_DIR) + cp src/orbit.lua $(LUA_DIR) + mkdir -p $(LUA_DIR)/orbit +- cp src/model.lua $(LUA_DIR)/orbit +- cp src/cache.lua $(LUA_DIR)/orbit +- cp src/pages.lua $(LUA_DIR)/orbit +- cp src/ophandler.lua $(LUA_DIR)/orbit ++ cp src/orbit/*.lua $(LUA_DIR)/orbit + mkdir -p $(BIN_DIR) +- cp src/orbit $(BIN_DIR) ++ cp src/launchers/* $(BIN_DIR) + if [ -f ./wsapi/Makefile ]; then \ + cd wsapi && make install; \ + fi diff --git a/package/orbit/orbit.mk b/package/orbit/orbit.mk new file mode 100644 index 0000000000..af5f0af94d --- /dev/null +++ b/package/orbit/orbit.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# orbit +# +################################################################################ + +ORBIT_VERSION = 2.2.0 +ORBIT_SITE = http://github.com/downloads/keplerproject/orbit +ORBIT_LICENSE = MIT +ORBIT_LICENSE_FILES = COPYRIGHT + +define ORBIT_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) \ + LUA_DIR=$(TARGET_DIR)/usr/share/lua/ \ + BIN_DIR=$(TARGET_DIR)/usr/bin \ + install +endef + +$(eval $(generic-package)) diff --git a/package/orc/orc.mk b/package/orc/orc.mk index dc93882ab3..8db58e9c36 100644 --- a/package/orc/orc.mk +++ b/package/orc/orc.mk @@ -4,7 +4,7 @@ # ################################################################################ -ORC_VERSION = 0.4.16 +ORC_VERSION = 0.4.18 ORC_SITE = http://code.entropywave.com/download/orc/ ORC_LICENSE = BSD-2c, BSD-3c ORC_LICENSE_FILES = COPYING diff --git a/package/perl/perl.mk b/package/perl/perl.mk index 5afaaafbd6..37a38f70a2 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -12,7 +12,7 @@ PERL_LICENSE = Artistic PERL_LICENSE_FILES = Artistic PERL_INSTALL_STAGING = YES -PERL_CROSS_VERSION = 0.7.2 +PERL_CROSS_VERSION = 0.7.4 PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).3 PERL_CROSS_SITE = http://download.berlios.de/perlcross PERL_CROSS_SOURCE = perl-$(PERL_CROSS_BASE_VERSION)-cross-$(PERL_CROSS_VERSION).tar.gz diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index b8eaa98bbb..2e2e66f283 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -435,12 +435,12 @@ endif rm -f $$($(2)_TARGET_INSTALL_IMAGES) rm -f $$($(2)_TARGET_INSTALL_HOST) -$(1)-rebuild: $(1)-clean-for-rebuild all +$(1)-rebuild: $(1)-clean-for-rebuild $(1) $(1)-clean-for-reconfigure: $(1)-clean-for-rebuild rm -f $$($(2)_TARGET_CONFIGURE) -$(1)-reconfigure: $(1)-clean-for-reconfigure all +$(1)-reconfigure: $(1)-clean-for-reconfigure $(1) # define the PKG variable for all targets, containing the # uppercase package variable prefix diff --git a/package/rpm/Config.in b/package/rpm/Config.in index 14072c95f9..63e5367726 100644 --- a/package/rpm/Config.in +++ b/package/rpm/Config.in @@ -1,17 +1,14 @@ comment "rpm requires a toolchain with thread support" depends on !BR2_TOOLCHAIN_HAS_THREADS -comment "rpm requires libneon with SSL, XML and ZLIB support" - depends on !BR2_PACKAGE_NEON || BR2_PACKAGE_NEON_NOXML && BR2_TOOLCHAIN_HAS_THREADS - config BR2_PACKAGE_RPM bool "rpm" depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt select BR2_PACKAGE_BEECRYPT select BR2_PACKAGE_POPT select BR2_PACKAGE_OPENSSL - depends on BR2_PACKAGE_NEON - depends on !BR2_PACKAGE_NEON_NOXML + select BR2_PACKAGE_NEON + select BR2_PACKAGE_NEON_XML select BR2_PACKAGE_NEON_ZLIB select BR2_PACKAGE_NEON_SSL help diff --git a/package/sstrip/sstrip.mk b/package/sstrip/sstrip.mk index be8c563f0a..c79a501135 100644 --- a/package/sstrip/sstrip.mk +++ b/package/sstrip/sstrip.mk @@ -8,11 +8,6 @@ SSTRIP_SITE = svn://dev.openwrt.org/openwrt/trunk/tools/sstrip SSTRIP_VERSION = 20154 HOST_SSTRIP_BINARY = $(GNU_TARGET_NAME)-sstrip -# This is a kludge to get host-ccache built before us or it fails -ifeq ($(BR2_CCACHE),y) -HOST_SSTRIP_DEPENDENCIES = host-ccache -endif - define SSTRIP_BUILD_CMDS cd $(@D) ; \ $(TARGET_CC) $(TARGET_CFLAGS) -include endian.h -include byteswap.h \ diff --git a/package/subversion/Config.in b/package/subversion/Config.in new file mode 100644 index 0000000000..c1358fee78 --- /dev/null +++ b/package/subversion/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_SUBVERSION + bool "subversion" + select BR2_PACKAGE_APR_UTIL + # apr really needs shared library support + depends on !BR2_PREFER_STATIC_LIB + select BR2_PACKAGE_NEON + select BR2_PACKAGE_NEON_XML + help + Subversion is an open source version control system + + http://subversion.apache.org/ diff --git a/package/subversion/subversion.mk b/package/subversion/subversion.mk new file mode 100644 index 0000000000..de4db7c4e4 --- /dev/null +++ b/package/subversion/subversion.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# subversion +# +################################################################################ + +SUBVERSION_VERSION = 1.7.9 +SUBVERSION_SITE = http://archive.apache.org/dist/subversion +SUBVERSION_LICENSE = Apache 2.0 +SUBVERSION_LICENSE_FILES = LICENSE + +SUBVERSION_DEPENDENCIES = apr apr-util expat neon zlib +SUBVERSION_CONF_OPT = \ + --with-expat=$(STAGING_DIR)/usr/include:$(STAGING_DIR)/usr/lib: \ + --with-apr=$(STAGING_DIR)/usr \ + --with-apr-util=$(STAGING_DIR)/usr \ + --with-zlib=$(STAGING_DIR)/usr \ + --with-neon=$(STAGING_DIR)/usr \ + --without-gssapi \ + --without-serf \ + --without-apxs \ + --without-berkeyley-db \ + --without-sasl \ + --without-gnome-keyring \ + --without-ssl \ + --without-libmagic + +$(eval $(autotools-package)) diff --git a/package/trace-cmd/Config.in b/package/trace-cmd/Config.in new file mode 100644 index 0000000000..8d793046a0 --- /dev/null +++ b/package/trace-cmd/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_TRACE_CMD + bool "trace-cmd" + depends on BR2_LARGEFILE + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Command line reader for ftrace. + + To use this profiling tool, you should enable ftrace in your kernel + configuration. This command collect traces on your target. + You can analyse these traces on the target or on the host via the gui + "kernel shark" + + http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git + +comment "trace-cmd needs a toolchain with largefile and threads support" + depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/trace-cmd/trace-cmd.mk b/package/trace-cmd/trace-cmd.mk new file mode 100644 index 0000000000..ada0306e3e --- /dev/null +++ b/package/trace-cmd/trace-cmd.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# trace-cmd +# +################################################################################ + +TRACE_CMD_VERSION = trace-cmd-v2.2.1 +TRACE_CMD_SITE = http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git +TRACE_CMD_SITE_METHOD = git +TRACE_CMD_INSTALL_STAGING = YES +TRACE_CMD_LICENSE = GPLv2 LGPLv2.1 +TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB + +define TRACE_CMD_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \ + -C $(@D) all +endef + +define TRACE_CMD_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/trace-cmd $(TARGET_DIR)/usr/bin/trace-cmd + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/trace-cmd/plugins + $(INSTALL) -D -m 0755 $(@D)/plugin_*.so $(TARGET_DIR)/usr/lib/trace-cmd/plugins +endef + +$(eval $(generic-package)) diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index 36a5001d94..39877bbbf9 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -241,6 +241,20 @@ define UCLIBC_LARGEFILE_CONFIG endef endif +# +# MMU +# + +ifeq ($(BR2_USE_MMU),y) +define UCLIBC_MMU_CONFIG + $(call UCLIBC_OPT_SET,ARCH_USE_MMU,y,$(@D)) +endef +else +define UCLIBC_MMU_CONFIG + $(call UCLIBC_OPT_UNSET,ARCH_USE_MMU,$(@D)) +endef +endif + # # IPv6 # diff --git a/package/wsapi/Config.in b/package/wsapi/Config.in index 3621648484..348a0404b6 100644 --- a/package/wsapi/Config.in +++ b/package/wsapi/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_WSAPI bool "wsapi" + # Runtime dependency only select BR2_PACKAGE_COXPCALL select BR2_PACKAGE_LUAFILESYSTEM select BR2_PACKAGE_RINGS diff --git a/package/wsapi/wsapi.mk b/package/wsapi/wsapi.mk index 4a64b943f6..c70502b7e8 100644 --- a/package/wsapi/wsapi.mk +++ b/package/wsapi/wsapi.mk @@ -6,7 +6,6 @@ WSAPI_VERSION = 1.5 WSAPI_SITE = http://github.com/downloads/keplerproject/wsapi -WSAPI_DEPENDENCIES = coxpcall luafilesystem rings WSAPI_LICENSE = MIT define WSAPI_INSTALL_TARGET_CMDS diff --git a/package/xavante/Config.in b/package/xavante/Config.in index db34d66ec1..be8e6d905d 100644 --- a/package/xavante/Config.in +++ b/package/xavante/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_XAVANTE bool "xavante" + # Runtime dependency only select BR2_PACKAGE_CGILUA select BR2_PACKAGE_COPAS select BR2_PACKAGE_COXPCALL diff --git a/package/xavante/xavante.mk b/package/xavante/xavante.mk index 7c7fddeb9c..dd2a707d90 100644 --- a/package/xavante/xavante.mk +++ b/package/xavante/xavante.mk @@ -6,7 +6,6 @@ XAVANTE_VERSION = 2.2.1 XAVANTE_SITE = http://github.com/downloads/keplerproject/xavante -XAVANTE_DEPENDENCIES = cgilua copas coxpcall lua luafilesystem luasocket wsapi XAVANTE_LICENSE = MIT define XAVANTE_INSTALL_TARGET_CMDS diff --git a/support/dependencies/dependencies.mk b/support/dependencies/dependencies.mk index a2d229c957..4a220e0e02 100644 --- a/support/dependencies/dependencies.mk +++ b/support/dependencies/dependencies.mk @@ -20,11 +20,17 @@ ifeq ($(BR2_STRIP_sstrip),y) DEPENDENCIES_HOST_PREREQ+=host-sstrip endif +ifeq ($(BR2_CCACHE),y) +DEPENDENCIES_HOST_PREREQ += host-ccache +endif + core-dependencies: @HOSTCC="$(firstword $(HOSTCC))" MAKE="$(MAKE)" \ DL_TOOLS="$(sort $(DL_TOOLS_DEPENDENCIES))" \ $(TOPDIR)/support/dependencies/dependencies.sh +dependencies: HOSTCC=$(HOSTCC_NOCCACHE) +dependencies: HOSTCXX=$(HOSTCXX_NOCCACHE) dependencies: core-dependencies $(DEPENDENCIES_HOST_PREREQ) dependencies-source: diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index 61a4140abe..bce5cc6663 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -173,14 +173,6 @@ if grep -q ^BR2_PACKAGE_CLASSPATH=y $BUILDROOT_CONFIG ; then done fi -if grep -E '^BR2_TARGET_GENERIC_ROOT_PASSWD=".+"$' $BUILDROOT_CONFIG > /dev/null 2>&1; then - if ! which mkpasswd > /dev/null 2>&1; then - /bin/echo -e "\nYou need the 'mkpasswd' utility to set the root password\n" - /bin/echo -e "(in Debian/ubuntu, 'mkpasswd' provided by the whois package)\n" - exit 1 - fi -fi - if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BUILDROOT_CONFIG ; then if test ! -f /lib/ld-linux.so.2 ; then /bin/echo -e "\nYour Buildroot configuration uses pre-built tools for the x86 architecture," diff --git a/system/system.mk b/system/system.mk index df8c802d84..b4ddc3e6e1 100644 --- a/system/system.mk +++ b/system/system.mk @@ -2,9 +2,6 @@ TARGET_GENERIC_HOSTNAME := $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME)) TARGET_GENERIC_ISSUE := $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE)) TARGET_GENERIC_ROOT_PASSWD := $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD)) TARGET_GENERIC_PASSWD_METHOD := $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD)) -ifneq ($(TARGET_GENERIC_ROOT_PASSWD),) -TARGET_GENERIC_ROOT_PASSWD_HASH = $(shell mkpasswd -m "$(TARGET_GENERIC_PASSWD_METHOD)" "$(TARGET_GENERIC_ROOT_PASSWD)") -endif TARGET_GENERIC_GETTY := $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)) TARGET_GENERIC_GETTY_BAUDRATE := $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE)) TARGET_GENERIC_GETTY_TERM := $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_TERM)) @@ -23,8 +20,13 @@ target-generic-issue: mkdir -p $(TARGET_DIR)/etc echo "$(TARGET_GENERIC_ISSUE)" > $(TARGET_DIR)/etc/issue +ifneq ($(TARGET_GENERIC_ROOT_PASSWD),) +target-root-passwd: host-mkpasswd +endif target-root-passwd: - $(SED) 's,^root:[^:]*:,root:$(TARGET_GENERIC_ROOT_PASSWD_HASH):,' $(TARGET_DIR)/etc/shadow + [ -n "$(TARGET_GENERIC_ROOT_PASSWD)" ] && \ + TARGET_GENERIC_ROOT_PASSWD_HASH=$$($(MKPASSWD) -m "$(TARGET_GENERIC_PASSWD_METHOD)" "$(TARGET_GENERIC_ROOT_PASSWD)"); \ + $(SED) "s,^root:[^:]*:,root:$$TARGET_GENERIC_ROOT_PASSWD_HASH:," $(TARGET_DIR)/etc/shadow target-generic-getty-busybox: $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(TARGET_GENERIC_GETTY)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY) $(TARGET_GENERIC_GETTY_BAUDRATE) $(TARGET_GENERIC_GETTY_TERM) #~' \ diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 396a434ac0..7a26441a05 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -22,6 +22,7 @@ config BR2_TOOLCHAIN_BUILDROOT_EGLIBC BR2_mips64 || BR2_mips64el || BR2_powerpc || \ BR2_sh || BR2_sh64 || BR2_sparc || \ BR2_x86_64 + depends on BR2_USE_MMU select BR2_TOOLCHAIN_USES_GLIBC # our eglibc.mk enables RPC support select BR2_TOOLCHAIN_HAS_NATIVE_RPC