Hi,

as evident, busy with work here too.. :)

Here is the output of the commands, on FreeBSD 10 with standard make:

# make -C src/man
Making all in man1
Making all in man3
Making all in man5
Making all in mann
#
# make -C src/man prefix=/tmp/owfs install
Making install in man1
 ../../../src/scripts/install/install-sh -c -d '/tmp/owfs/share/man/man1'
/usr/bin/install -c -m 644 libowcapi.1 owdir.1 owget.1 owread.1 owwrite.1 owpresent.1 ownetapi.1 ownetlib.1 libownet.1 '/tmp/owfs/share/man/man1'
Making install in man3
 ../../../src/scripts/install/install-sh -c -d '/tmp/owfs/share/man/man3'
/usr/bin/install -c -m 644 DS1427.3 DS1904.3 DS1920.3 DS1971.3 DS1982.3 DS1982U.3 DS1985.3 DS1985U.3 DS1986.3 DS1986U.3 DS1990A.3 DS1994.3 DS2404S.3 DS2407.3 DS2411.3 DS2417.3 DS2502-E48.3 DS2502-UNW.3 DS2505-UNW.3 DS2506-UNW.3 DS2756.3 DS2761.3 DS2762.3 DS2788.3 DS2804.3 EDS0064.3 EDS0065.3 EDS0066.3 EDS0067.3 EDS0068.3 EDS0070.3 EDS0071.3 EDS0072.3 EDS0080.3 EDS0082.3 EDS0083.3 EDS0085.3 EDS0090.3 MAX31820.3 MAX31826.3 '/tmp/owfs/share/man/man3' /usr/bin/install -c -m 644 MAX31850.3 MAX31851.3 OWNet.3 Thermachron.3 UVI.3 '/tmp/owfs/share/man/man3'
Making install in man5
 ../../../src/scripts/install/install-sh -c -d '/tmp/owfs/share/man/man5'
 /usr/bin/install -c -m 644 owfs.conf.5 '/tmp/owfs/share/man/man5'
Making install in mann
 ../../../src/scripts/install/install-sh -c -d '/tmp/owfs/share/man/mann'
 /usr/bin/install -c -m 644 ow.n '/tmp/owfs/share/man/mann'

# ls /tmp/owfs/share/man/*
/tmp/owfs/share/man/man1:
libowcapi.1 libownet.1 owdir.1 owget.1 ownetapi.1 ownetlib.1 owpresent.1 owread.1 owwrite.1

/tmp/owfs/share/man/man3:
DS1427.3 DS1982.3 DS1986.3 DS2404S.3 DS2502-E48.3 DS2756.3 DS2804.3 EDS0067.3 EDS0072.3 EDS0085.3 MAX31850.3 UVI.3 DS1904.3 DS1982U.3 DS1986U.3 DS2407.3 DS2502-UNW.3 DS2761.3 EDS0064.3 EDS0068.3 EDS0080.3 EDS0090.3 MAX31851.3 DS1920.3 DS1985.3 DS1990A.3 DS2411.3 DS2505-UNW.3 DS2762.3 EDS0065.3 EDS0070.3 EDS0082.3 MAX31820.3 OWNet.3 DS1971.3 DS1985U.3 DS1994.3 DS2417.3 DS2506-UNW.3 DS2788.3 EDS0066.3 EDS0071.3 EDS0083.3 MAX31826.3 Thermachron.3

/tmp/owfs/share/man/man5:
owfs.conf.5

/tmp/owfs/share/man/mann:
ow.n



So, a lot of files missing. But it doesn't execute the soelim stuff at all, I guess that is the problem.. :) If I instead use gmake, I get the same output as the one you posted (i.e. all manfiles properly installed).

In previous version it was totally broken, I think.. It installed a bunch of non-man-pages such as "description.3so.gz" etc.

For me it is acceptable to just use gmake in the FreeBSD port, and not "waste time" with making it portable.. But the owfs project owners might have a different opinion. Thus, for now I'll just change the FreeBSD port to always use gmake, so the port works on older systems (and the FreeBSD build machines stops bugging me about broken port). This has been submitted to the ports: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196156

Johan

On 12/5/14 12:08 , Stefano Miccoli wrote:
Sorry, it was a very busy time for work, no free time for free software...

Please could you run these commands

    $ tar xf owfs-2.9p8.tar
    $ cd owfs-2.9p8
    $ mkdir build
    $ cd build
    $ ../configure
    $ make -C src/man
    $ make -C src/man prefix=/tmp/owfs install


and check if the relevant man pages are actually in /tmp/owfs/share/man/man{1,3,5,n}? Under Linux I find

    */tmp/owfs-2.9p8/build*$ ls /tmp/owfs/share/man/man1
    libowcapi.1  owdir.1   owget.1    ownet.1     owpresent.1  owshell.1
    libownet.1   owfs.1    owhttpd.1 ownetapi.1  owread.1     owtap.1
    owcapi.1     owftpd.1  owmon.1 ownetlib.1  owserver.1   owwrite.1
    */tmp/owfs-2.9p8/build*$ ls /tmp/owfs/share/man/man3
    DS1427.3   DS1986.3   DS2411.3 DS2506-UNW.3  DS28EA00.3  LCD.3
    DS1821.3   DS1986U.3  DS2413.3 DS2506.3      DS28EC20.3  MAX31820.3
    DS1822.3   DS1990A.3  DS2415.3 DS2720.3      EDS.3       MAX31826.3
    DS1825.3   DS1991.3   DS2417.3 DS2740.3      EDS0064.3   MAX31850.3
    DS18B20.3  DS1992.3   DS2423.3 DS2751.3      EDS0065.3   MAX31851.3
    DS18S20.3  DS1993.3   DS2430A.3 DS2755.3      EDS0066.3   OWNet.3
    DS1904.3   DS1994.3   DS2431.3 DS2756.3      EDS0067.3   Thermachron.3
    DS1920.3   DS1995.3   DS2433.3 DS2760.3      EDS0068.3   UVI.3
    DS1921.3   DS1996.3   DS2436.3 DS2761.3      EDS0070.3   mAM001.3
    DS1963L.3  DS2401.3   DS2437.3 DS2762.3      EDS0071.3   mCM001.3
    DS1963S.3  DS2404.3   DS2438.3 DS2770.3      EDS0072.3   mDI001.3
    DS1971.3   DS2404S.3  DS2450.3 DS2780.3      EDS0080.3   mRS001.3
    DS1977.3   DS2405.3   DS2502-E48.3 DS2781.3      EDS0082.3   owperl.3
    DS1982.3   DS2406.3   DS2502-UNW.3 DS2788.3      EDS0083.3
    DS1982U.3  DS2407.3   DS2502.3 DS2804.3      EDS0085.3
    DS1985.3   DS2408.3   DS2505-UNW.3 DS2890.3      EDS0090.3
    DS1985U.3  DS2409.3   DS2505.3 DS28E04.3     EEEF.3
    */tmp/owfs-2.9p8/build*$ ls /tmp/owfs/share/man/man5
    owfs.5  owfs.conf.5
    */tmp/owfs-2.9p8/build*$ ls /tmp/owfs/share/man/mann
    ow.n  owtcl.n


In https://gist.github.com/anonymous/ac9b425c5ffc4cc39596 you will find a typescript of what happens under Debian 7.7 GNU-Linux when I run those commands. Please feel free to post your output on gist and I will check what's wrong.

Stefano


PS:

as what regards patching for a portable make: unfortunately there is no easy solution, unless a very verbose (and difficult to maintain Makefile.ac) is written. I'm in favour of *explicit* Makefile.am files, in which every file is listed, but not to repetition.

The actual snippet:

    ## man sources
    MANFILES = \
        owcapi.man ...

    man1_MANS = $(addsuffix .1,$(basename $(MANFILES)))


to be portable should be written as

    ## man sources
    MANFILES = \
        owcapi.man owfs.man ...

    man1_MANS = owcapi.1 owfs.1 ...


Since there are 120 man files, keeping the MANFILES and man1_MANS man1_MANS man3_MANS man5_MANS mann_MANS targets consistent is an error prone task. I understand that this could be obtained by a shell script, but even this is not possible in a truly portable makefile.

PPS:

The old makefile for man pages was based on a non portable shell script that was disabled under BSD and OSX, so please check if in previous versions the missing files were present.


On 05 Dec 2014, at 08:40, Johan Ström <jo...@stromnet.se <mailto:jo...@stromnet.se>> wrote:

Hi,

while waiting for patches, I tried the alternative approach using GNU make when building on < FreeBSD 10.0. This works, but actually reveiled another issue. On FreeBSD 10, the install seems to miss quite a lot of manpages [1]. I suspect there is some other issue with the current makefile and BSD bmake which causes this, any ideas?

Johan


1. Pages missing in FreeBSD 10.0 install:
man/man1/owcapi.1.gz
man/man1/owfs.1.gz
man/man1/owftpd.1.gz
man/man1/owhttpd.1.gz
man/man1/owmon.1.gz
man/man1/ownet.1.gz
man/man1/owserver.1.gz
man/man1/owshell.1.gz
man/man1/owtap.1.gz
man/man3/DS1821.3.gz
man/man3/DS1822.3.gz
man/man3/DS1825.3.gz
man/man3/DS18B20.3.gz
man/man3/DS18S20.3.gz
man/man3/DS1921.3.gz
man/man3/DS1963L.3.gz
man/man3/DS1963S.3.gz
man/man3/DS1977.3.gz
man/man3/DS1991.3.gz
man/man3/DS1992.3.gz
man/man3/DS1993.3.gz
man/man3/DS1995.3.gz
man/man3/DS1996.3.gz
man/man3/DS2401.3.gz
man/man3/DS2404.3.gz
man/man3/DS2405.3.gz
man/man3/DS2406.3.gz
man/man3/DS2408.3.gz
man/man3/DS2409.3.gz
man/man3/DS2413.3.gz
man/man3/DS2415.3.gz
man/man3/DS2423.3.gz
man/man3/DS2430A.3.gz
man/man3/DS2431.3.gz
man/man3/DS2433.3.gz
man/man3/DS2436.3.gz
man/man3/DS2437.3.gz
man/man3/DS2438.3.gz
man/man3/DS2450.3.gz
man/man3/DS2502.3.gz
man/man3/DS2505.3.gz
man/man3/DS2506.3.gz
man/man3/DS2720.3.gz
man/man3/DS2740.3.gz
man/man3/DS2751.3.gz
man/man3/DS2755.3.gz
man/man3/DS2760.3.gz
man/man3/DS2770.3.gz
man/man3/DS2780.3.gz
man/man3/DS2781.3.gz
man/man3/DS2890.3.gz
man/man3/DS28E04.3.gz
man/man3/DS28EA00.3.gz
man/man3/DS28EC20.3.gz
man/man3/EDS.3.gz
man/man3/EEEF.3.gz
man/man3/LCD.3.gz
man/man3/mAM001.3.gz
man/man3/mCM001.3.gz
man/man3/mDI001.3.gz
man/man3/mRS001.3.gz
man/man3/owperl.3.gz
man/man5/owfs.5.gz
man/mann/owtcl.n.gz

On 17/11/14 13:49, Johan Ström wrote:
GNU make is not used at all when building the FreeBSD port, the base system make is used.

It seems 10.0 replaced the previous make with bmake:

https://www.freebsd.org/releases/10.0R/relnotes.html:
make(1) has been replaced with the "Portable" BSD make tool (bmake) from NetBSD.


Not sure if this can be easily fixed with the old FreeBSD make, but the man page is here:

https://www.freebsd.org/cgi/man.cgi?query=make&apropos=0&sektion=1&manpath=FreeBSD+8.4-RELEASE&arch=default&format=html

Another solution would be to use gmake for pre-10.0 builds, but if you can find a way to fix the Makefile without too much work that is prefered :)

Johan

On 17/11/14 13:31, Stefano Miccoli wrote:
It's my fault:

|$(addsuffix suffix,names...)|
$(basename names...)
|

are not portable GNU-Make extensions. My assumption was that if you are using autoconf and all of its ancillary programs then you must have a fairly new and updated GNU-Make.

Which version of GNU-Make (or which other breed of make) is packaged with FreeBSD 8.4 and 9.1?

I will provide a patch soon for fixing this.

S.
|


On 16 Nov 2014, at 12:17, Johan Ström <jo...@stromnet.se <mailto:jo...@stromnet.se>> wrote:

Hi,

I was notified that owfs 2.9p8 fails to build on FreeBSD 8.4 and 9.1,
seemingly due to a portability issue in the new manpages Makefiles.
Not sure why it fails on these older FreeBSDs, when it works on 10.0..
But both 8.x and 9.x is on extended support so it would be nice if we
could build there as well, since everything else works afaik.

The issue:

owfs-2.9p8/src/man/man3 # make
Error expanding embedded variable.
owfs-2.9p8/src/man/man3 #

The line which fails to execute is:

man3_MANS = $(addsuffix .3,$(basename $(MANFILES)))

I'm not really sure what to replace this with to make it all working, so
I'll just report it here. I can assist with testing though.

Johan

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers



------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk


_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers



------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk


_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers



------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk


_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to