From mboxrd@z Thu Jan 1 00:00:00 1970 From: Romain Naour Date: Mon, 13 Jul 2015 22:16:00 +0200 Subject: [Buildroot] [PATCH] Adding owfs support In-Reply-To: References: Message-ID: <55A41C80.4070809@openwide.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Hi Istv?n, Le 13/07/2015 21:30, Pongr?cz Istv?n a ?crit : > > Hi Romain, > > Thank you very much for your feedback and detailed explanation of the necessary modifications. > > As I am not a master of buildroot, I will need more time to check and modify the package. > > Anyway, as I wrote, I just borrowed this package from an other source and modified to be able to compile. The original source (url) should be there. > > In the other hand, I will need to learn buildroot better, because I would like to compile "heavy" application and its dependencies. That will be fun (and annoying, too :) > > Thank you again for your feedback and support. You're welcome. Ok, we'll wait for your updated patch :) Please, next time keep the list in Cc. Best regards, Romain Naour > > Cheers, > Istv?n (Steve) > > > > ----------------eredeti ?zenet----------------- > Felad?: "Romain Naour" romain.naour at openwide.fr > C?mzett: "root" > , buildroot at buildroot.org > D?tum: Mon, 13 Jul 2015 13:03:42 +0200 > ------------------------------------------------- > > >> Hi Istvan, >> >> Le 21/05/2015 15:02, root a ?crit : >>> --- >>> package/Config.in | 1 + >>> .../0001-fix-owshell-libusb-for-owfs-3.1p0.patch | 127 >>> +++++++++++++++++++++ >>> package/owfs/Config.in | 33 ++++++ >>> package/owfs/owfs.mk | 20 ++++ >>> 4 files changed, 181 insertions(+) >>> create mode 100644 >>> package/owfs/0001-fix-owshell-libusb-for-owfs-3.1p0.patch >>> create mode 100644 package/owfs/Config.in >>> create mode 100644 package/owfs/owfs.mk >>> >>> diff --git a/package/Config.in b/package/Config.in >>> index e0c2e2a..bbc20a8 100644 >>> --- a/package/Config.in >>> +++ b/package/Config.in >>> @@ -846,6 +846,7 @@ menu "Hardware handling" >>> source "package/mtdev/Config.in" >>> source "package/ne10/Config.in" >>> source "package/neardal/Config.in" >>> + source "package/owfs/Config.in" >>> source "package/pcsc-lite/Config.in" >>> source "package/tslib/Config.in" >>> source "package/urg/Config.in" >>> diff --git >>> a/package/owfs/0001-fix-owshell-libusb-for-owfs-3.1p0.patch >>> b/package/owfs/0001-fix-owshell-libusb-for-owfs-3.1p0.patch >>> new file mode 100644 >>> index 0000000..cdaa39d >>> --- /dev/null >>> +++ b/package/owfs/0001-fix-owshell-libusb-for-owfs-3.1p0.patch >> >> You need to add your Sob line and a description about the change. >> >>> @@ -0,0 +1,127 @@ >>> +diff -Nur owfs-3.1p0/module/owshell/src/c/Makefile.am >>> owfs-3.1p0-patched/module/owshell/src/c/Makefile.am >>> +--- a/module/owshell/src/c/Makefile.am 2015-01-11 >>> 02:31:32.000000000 +0100 >>> ++++ b/module/owshell/src/c/Makefile.am 2015-05-02 >>> 19:13:00.000000000 +0200 >>> +@@ -41,7 +41,9 @@ >>> + -Wcast-align \ >>> + -Wstrict-prototypes \ >>> + -Wredundant-decls \ >>> +- ${EXTRACFLAGS} >>> ++ ${EXTRACFLAGS} \ >>> ++ ${LIBUSB_CFLAGS} \ >>> ++ ${PTHREAD_CFLAGS} >> >> I don't think this is the right fix with the PATH overwrite in owfs.mk. If you >> have a link issue with libusb, you can try to use pkg-config to retrieve the >> necessary CFLAGS. To be investigated... >> >>> + >>> +-LDADD = ${LD_EXTRALIBS} ${OSLIBS} >>> ++LDADD = ${LIBUSB_LIBS} ${PTHREAD_LIBS} ${LD_EXTRALIBS} ${OSLIBS} >>> + >>> +diff -Nur owfs-3.1p0/module/owshell/src/c/Makefile.in >>> owfs-3.1p0-patched/module/owshell/src/c/Makefile.in >>> +--- a/module/owshell/src/c/Makefile.in 2015-03-15 >>> 02:38:32.000000000 +0100 >>> ++++ b/module/owshell/src/c/Makefile.in 2015-05-02 >>> 19:12:00.000000000 +0200 >> >> Since the package is autoreconfed, you doesn't need to patch Makefile.in. >> >>> +@@ -1,7 +1,7 @@ >>> +-# Makefile.in generated by automake 1.14.1 from Makefile.am. >>> ++# Makefile.in generated by automake 1.15 from Makefile.am. >>> + # @configure_input@ >>> + >>> +-# Copyright (C) 1994-2013 Free Software Foundation, Inc. >>> ++# Copyright (C) 1994-2014 Free Software Foundation, Inc. >>> + >>> + # This Makefile.in is free software; the Free Software Foundation >>> + # gives unlimited permission to copy and/or distribute it, >>> +@@ -15,7 +15,17 @@ >>> + @SET_MAKE@ >>> + >>> + VPATH = @srcdir@ >>> +-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' >>> ++am__is_gnu_make = { \ >>> ++ if test -z '$(MAKELEVEL)'; then \ >>> ++ false; \ >>> ++ elif test -n '$(MAKE_HOST)'; then \ >>> ++ true; \ >>> ++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ >>> ++ true; \ >>> ++ else \ >>> ++ false; \ >>> ++ fi; \ >>> ++} >>> + am__make_running_with_option = \ >>> + case $${target_option-} in \ >>> + ?) ;; \ >>> +@@ -82,16 +92,8 @@ >>> + bin_PROGRAMS = owget$(EXEEXT) owdir$(EXEEXT) owread$(EXEEXT) \ >>> + owwrite$(EXEEXT) owpresent$(EXEEXT) owexist$(EXEEXT) >>> + subdir = module/owshell/src/c >>> +-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ >>> +- $(top_srcdir)/src/scripts/install/mkinstalldirs \ >>> +- $(top_srcdir)/src/scripts/install/depcomp >>> + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 >>> +-am__aclocal_m4_deps = $(top_srcdir)/src/scripts/m4/libtool.m4 \ >>> +- $(top_srcdir)/src/scripts/m4/ltoptions.m4 \ >>> +- $(top_srcdir)/src/scripts/m4/ltsugar.m4 \ >>> +- $(top_srcdir)/src/scripts/m4/ltversion.m4 \ >>> +- $(top_srcdir)/src/scripts/m4/lt~obsolete.m4 \ >>> +- $(top_srcdir)/acinclude.m4 \ >>> ++am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ >>> + $(top_srcdir)/src/scripts/m4/acx_pthread.m4 \ >>> + $(top_srcdir)/module/swig/perl5/perl5.m4 \ >>> + $(top_srcdir)/module/swig/php/php.m4 \ >>> +@@ -99,6 +101,7 @@ >>> + $(top_srcdir)/module/owtcl/tcl.m4 $(top_srcdir)/configure.ac >>> + am__configure_deps = $(am__aclocal_m4_deps) >>> $(CONFIGURE_DEPENDENCIES) \ >>> + $(ACLOCAL_M4) >>> ++DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) >>> + mkinstalldirs = $(SHELL) \ >>> + $(top_srcdir)/src/scripts/install/mkinstalldirs >>> + CONFIG_HEADER = $(top_builddir)/src/include/config.h >>> +@@ -201,6 +204,9 @@ >>> + done | $(am__uniquify_input)` >>> + ETAGS = etags >>> + CTAGS = ctags >>> ++am__DIST_COMMON = $(srcdir)/Makefile.in \ >>> ++ $(top_srcdir)/src/scripts/install/depcomp \ >>> ++ $(top_srcdir)/src/scripts/install/mkinstalldirs >>> + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) >>> + ACLOCAL = @ACLOCAL@ >>> + AMTAR = @AMTAR@ >>> +@@ -295,6 +301,7 @@ >>> + LT_CURRENT = @LT_CURRENT@ >>> + LT_RELEASE = @LT_RELEASE@ >>> + LT_REVISION = @LT_REVISION@ >>> ++LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ >>> + MAKEINFO = @MAKEINFO@ >>> + MANIFEST_TOOL = @MANIFEST_TOOL@ >>> + MKDIR_P = @MKDIR_P@ >>> +@@ -498,9 +505,11 @@ >>> + -Wcast-align \ >>> + -Wstrict-prototypes \ >>> + -Wredundant-decls \ >>> +- ${EXTRACFLAGS} >>> ++ ${EXTRACFLAGS} \ >>> ++ ${LIBUSB_CFLAGS} \ >>> ++ ${PTHREAD_CFLAGS} >>> + >>> +-LDADD = ${LD_EXTRALIBS} ${OSLIBS} >>> ++LDADD = ${LIBUSB_LIBS} ${PTHREAD_LIBS} ${LD_EXTRALIBS} ${OSLIBS} >>> + all: all-am >>> + >>> + .SUFFIXES: >>> +@@ -514,10 +523,9 @@ >>> + exit 1;; \ >>> + esac; \ >>> + done; \ >>> +- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign >>> module/owshell/src/c/Makefile'; \ >>> ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu >>> module/owshell/src/c/Makefile'; \ >>> + $(am__cd) $(top_srcdir) && \ >>> +- $(AUTOMAKE) --foreign module/owshell/src/c/Makefile >>> +-.PRECIOUS: Makefile >>> ++ $(AUTOMAKE) --gnu module/owshell/src/c/Makefile >>> + Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status >>> + @case '$?' in \ >>> + *config.status*) \ >>> +@@ -865,6 +873,8 @@ >>> + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ >>> + tags tags-am uninstall uninstall-am uninstall-binPROGRAMS >>> + >>> ++.PRECIOUS: Makefile >>> ++ >>> + >>> + # Tell versions [3.59,3.63) of GNU make to not export all variables. >>> + # Otherwise a system limit (for SysV at least) may be exceeded. >>> diff --git a/package/owfs/Config.in b/package/owfs/Config.in >>> new file mode 100644 >>> index 0000000..7633e3e >>> --- /dev/null >>> +++ b/package/owfs/Config.in >>> @@ -0,0 +1,33 @@ >>> +config BR2_PACKAGE_OWFS >>> + bool "owfs" >>> + select BR2_PACKAGE_LIBFUSE >>> + help >>> + OWFS is an easy way to use the powerful 1-wire system of >>> + Dallas/Maxim. >>> + http://owfs.org/ >>> + Original owfs patch comes from here: >>> + https://github.com/davygravy/owfsplug >>> + by Dave Purdy davygravy >>> + >> >> There are some trailing space >> >>> + Notes: >>> + - uClibc: librpc must be enabled >>> + - FUSE must be enabled in the kernel (module or built-in) >>> + >> >> ditto >> >>> + Tested on 2015.2 and master git, uclibc and glibc. >>> + This package based on owfs version 3.1p0 from sourceforge: >>> + http://sourceforge.net/projects/owfs/files/owfs/ >>> + >>> + Usage: >>> + Create a mountpoint, where you will use owfs, for example: >>> + mkdir /mnt/1wire >>> + >> >> ditto >> >>> + Issue the following command, where the ttySx is your owfs port: >>> + owfs /dev/ttySx /mnt/1wire >>> + Enjoy :) >>> + >>> + Summarized by Istvan Pongracz (pongraczi on github) >>> + 16th of May, 2015 >>> + >>> + >>> + >>> + >> >> ditto + empty new lines. >> >> I like that you add an usage example here :) >> >>> diff --git a/package/owfs/owfs.mk b/package/owfs/owfs.mk >>> new file mode 100644 >>> index 0000000..7ba784d >>> --- /dev/null >>> +++ b/package/owfs/owfs.mk >>> @@ -0,0 +1,20 @@ >>> >>> +################################################################# >>> ############## >>> +# >>> +# owfs >>> +# >>> >>> +################################################################# >>> ############## >> >> Usually we add a new line here >> >>> +OWFS_VERSION = 3.1p0 >> >>> +OWFS_SOURCE = owfs-$(OWFS_VERSION).tar.gz >> >> This is not needed since tar.gz extension is the default. >> >>> +OWFS_SITE = >>> http://downloads.sourceforge.net/project/owfs/owfs/$(OWFS_VERSION) >>> >> >>> +OWFS_INSTALL_STAGING = YES >> >> Why this is needed ? >> >>> +OWFS_INSTALL_TARGET = YES >> >> This is not needed since target packages are installed to target by default. >> >>> +OWFS_CONF_ENV = PATH=$(STAGING_DIR)/usr/bin:$(BR_PATH) >> >>> +OWFS_CONF_OPTS = --enable-owshell --enable-owhttpd --enable-owftpd \ >>> +--enable-owserver --enable-ownet --enable-ownetlib --enable-owtap \ >>> +--enable-owmon --enable-owcapi --enable-usb >> >> There is a trailing space here. >> >>> +OWFS_DEPENDENCIES = libfuse libusb libusb-compat >> >> In the Config.in you select only the libfuse package, you must also select >> libusb and libusb-compat. >> >>> +OWFS_AUTORECONF = YES >> >> You need to add a comment to say why the package needs to be autoreconfed. >> Just add the patch's name: >> # 0001-fix-owshell-libusb-for-owfs-3.1p0.patch >> OWFS_AUTORECONF = YES >> >>> + >>> +$(eval $(autotools-package)) >> >>> +$(eval $(host-autotools-package)) >>> + >>> >> Why a host package is needed ? >> >> Can you resend an updated version of your patch ? >> >> Best regards, >> Romain Naour >> > >