Ticket #46702: adapt-to-osx.patch

File adapt-to-osx.patch, 3.3 KB (added by RJVB (René Bertin), 10 years ago)
  • logger.cc

    old new  
    131131                for (uint i(0); i < Opt::args().size(); ++i)
    132132                        command += Opt::args()[i] + " ";
    133133               
     134#ifdef __APPLE__
     135                set_env("DYLD_FORCE_FLAT_NAMESPACE", "1");
     136                set_env("DYLD_INSERT_LIBRARIES", libporg);
     137#else
    134138                set_env("LD_PRELOAD", libporg);
     139#endif
    135140                set_env("PORG_TMPFILE", tmpfile);
    136141                if (Out::debug())
    137142                        set_env("PORG_DEBUG", "yes");
    138143
    139144                Out::dbg_title("settings");
     145#ifdef __APPLE__
     146                Out::dbg("DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=" + libporg);
     147#else
    140148                Out::dbg("LD_PRELOAD: " + libporg);
     149#endif
    141150                Out::dbg("INCLUDE:    " + Opt::include());
    142151                Out::dbg("EXCLUDE:    " + Opt::exclude());
    143152                Out::dbg("command:    " + command);
     
    195204//
    196205static string search_libporg()
    197206{
     207#ifdef __APPLE__
     208        string libpath(LIBDIR "/libporg-log.dylib");
     209#else
    198210        string libpath(LIBDIR "/libporg-log.so");
     211#endif
    199212        struct stat s;
    200213       
    201214        if (!stat(libpath.c_str(), &s))
     
    204217        glob_t g;
    205218        memset(&g, 0, sizeof(g));
    206219       
     220#ifdef __APPLE__
     221        if (!glob(LIBDIR "/libporg-log.[0-9]*.dylib", 0, 0, &g) && g.gl_pathc)
     222#else
    207223        if (!glob(LIBDIR "/libporg-log.so.[0-9]*", 0, 0, &g) && g.gl_pathc)
     224#endif
    208225                libpath = g.gl_pathv[0];
    209226       
    210227        globfree(&g);
  • paco2porg

    old new  
    4949        logdir=
    5050        for dir in /etc /usr/local/etc /usr/etc /opt/etc; do
    5151                if [ -f $dir/${p}rc ]; then
    52                         logdir=$(sed -n '/^LOGDIR=/ s///p' $dir/${p}rc 2>/dev/null)
     52                        logdir=$(ssed -n '/^LOGDIR=/ s///p' $dir/${p}rc 2>/dev/null)
    5353                        break;
    5454                fi
    5555        done
     
    6262        case $1 in
    6363                -v|--verbose)   opt_verb=-v;;
    6464                -f|--force)             opt_force=-f;;
    65                 -V|--version)   porg --version | sed "s/^porg/$me/"; exit 0;;
     65                -V|--version)   porg --version | ssed "s/^porg/$me/"; exit 0;;
    6666                --paco-logdir=*)
    6767                        paco_dir=${1#*=}
    6868                        [ "$paco_dir" ] || die "Option '${1%=*}' requires an argument"
     
    117117
    118118        echo '#!'$porg_version'' > $porg_log
    119119       
    120         sed -n 's/^#d:/#t:/p' $paco_log >> $porg_log
     120        ssed -n 's/^#d:/#t:/p' $paco_log >> $porg_log
    121121
    122         echo "#a:$(sed -n '/^#:Author: */  s///p' $paco_log)" >> $porg_log
    123         echo "#S:$(sed -n '/^#:Summary: */ s///p' $paco_log)" >> $porg_log
    124         echo "#u:$(sed -n '/^#:URL: */     s///p' $paco_log)" >> $porg_log
    125         echo "#l:$(sed -n '/^#:License: */ s///p' $paco_log)" >> $porg_log
     122        echo "#a:$(ssed -n '/^#:Author: */  s///p' $paco_log)" >> $porg_log
     123        echo "#S:$(ssed -n '/^#:Summary: */ s///p' $paco_log)" >> $porg_log
     124        echo "#u:$(ssed -n '/^#:URL: */     s///p' $paco_log)" >> $porg_log
     125        echo "#l:$(ssed -n '/^#:License: */ s///p' $paco_log)" >> $porg_log
    126126
    127127        (grep '^#c:' $paco_log || echo '#c:') >> $porg_log
    128128        (grep '^#i:' $paco_log || echo '#i:') >> $porg_log
    129129
    130130        desc='^#:Description$'
    131         sed -n "/^#:/ { /$desc/,\$ { /$desc/! s/#:/#d:/p } }" $paco_log \
    132         | sed '1 { /^#d:$/d }; $ { /^#d:$/d }' >> $porg_log
     131        ssed -n "/^#:/ { /$desc/,\$ { /$desc/! s/#:/#d:/p } }" $paco_log \
     132        | ssed '1 { /^#d:$/d }; $ { /^#d:$/d }' >> $porg_log
    133133        echo '#d:' >> $porg_log
    134134
    135135        # 2) Logged files
    136136
    137         for buf in $(sed -n '/^-\?\// s//\//p' $paco_log); do
     137        for buf in $(ssed -n '/^-\?\// s//\//p' $paco_log); do
    138138               
    139139                path=${buf%%|*}
    140140                size=0