Psycho Mantys wrote:
> Depois de algum tempo parado e uma experiência horrível tentando 
> compilar java com o gcj, estou aqui mandando mais um slackbuild feito 
> por minha pessoa.
>
> Dessa vez e o do snoopy-logger.
> O snoopy logger e uma forma de logar o que cada usuario digitou de 
> verdade no terminal.
> Em detalhes, snoopy logger e um wrapper das chamadas a funcao execve() 
> da biblioteca do sistema. Ele funciona mais ou menos como a libsafe: e 
> carregado antes do que a funcão, e toda vez que alguem chama a funçao, 
> eh a funcao do snoopy logger q eh chamada e nao a do sistema. O snoopy 
> loga a chamada via syslog, e passa para o sistema normalmente. Entao 
> em /var/log/secure teremos todos os comandos digitados pelos usuarios.
>
> ex. de log:
> Jun 11 10:01:09 casaDaMae snoopy[15918]: [joaoLimao, uid:0 sid:9132]: 
> sh snoopy-logger.SlackBuild
> Jun 11 10:01:38 casaDaMae snoopy[16072]: [joaoLimao, uid:0 sid:9132]: 
> rm -rf /
> Jun 11 10:02:12 casaDaMae snoopy[16226]: [joaoLimao, uid:0 sid:9132]: 
> sh meuVirusMalzao.sh
> Jun 11 10:09:17 casaDaMae snoopy[16250]: [joaoLimao, uid:0 sid:9132]: 
> /bin/ls -F -b -T 0 --color=auto -l
>
> Um apelo, nao usem para xeretar a vida de usuarios..... Olha a maldade...
>
> bom, aproveitem :D.
>
###########################################################################################################################

Meu povo, foi mal!!!

Tinha um bug relacionado a instalação. Eu colocava uma informaçao de 
instalaçao em um arquivo errado.
Tb tirei uma informação de debug.

A versao correta e totalmente estavel e essa. Desculpa o erro!!!!

--~--~---------~--~----~------------~-------~--~----~
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br
-~----------~----~----~----~------~----~------~--~---

#!/bin/bash

# Heavily based on the Slackware 12.0 SlackBuild and generic build of 
# http://slack.sarava.org, thanks for all
#
# Script developer: Psycho ( Psycho.mantys(,a.t.)gmail.com )
#
#  If you have a sugest, send me a e-mail. I waiting new flags for archs.
#  And also reports of errors or bugs, so that i can happily correct :D
#
#------------------------------------------------------------------------------
#
# samples:
#
# > sh snoopy-logger.SlackBuild
# > ls -1d /tmp/snoopy-1.x-i686-1psy.tgz snoopy-1.x.tar.gz /tmp/package-snoopy
# /tmp/snoopy-1.x-i686-1psy.tgz
# snoopy-1.x.tar.gz
# /tmp/package-snoopy
#
# > ARCH="pentium4" REPOS=~/packages sh snoopy-logger.SlackBuild --cleanup
# > ls -1d ~/packages/snoopy-1.x-pentium4-1psy.tgz /tmp/package-snoopy 
snoopy-1.x.tar.gz
# ~/packages/snoopy-1.x-pentium4-1psy.tgz
# /bin/ls : file not found : /tmp/package-snoopy
# /bin/ls : file not found : snoopy-1.x.tar.gz
# 
# > export ARCH="MyArch"; export CLEANUP=yes ;export CHOST="i386-pc-linux-gnu"
# > export export SLKCFLAGS="-O3 -fmerge-all-constants -mthreads"
# > export REPOS=~/repositorium
# > sh snoopy-logger.SlackBuild
# > ls -1d ~/repositorium/snoopy-1.x-MyArch-1psy.tgz /tmp/package-snoopy \
#   snoopy-1.x.tar.gz
# ~/repositorium/snoopy-1.x-MyArch-1psy.tgz
# /bin/ls : file not found : /tmp/snoopy-1.x-MyArch-1psy.tgz
# /bin/ls : file not found : /tmp/package-snoopy
# /bin/ls : file not found : snoopy-1.x.tar.gz
#
#==============================================================================
# ChangeLog:
#
# VERSÃO:00.05:2008-04-06:Psycho:
# - Corrigido bug que colocava script de instalacao em arquivo errado.
# - Corrigido bug na versao :|
# - Retirado informação de debug
#
# VERSÃO:00.03:2008-04-06:Psycho:
# - Adicionado exemplos bem funcionais.
# - Mais arquiteturas suportadas (obrigado ao pessoal do komani linux!!!!)
#
# VERSÃO:00.01:2008-04-06:Psycho:
# - Versão inaugural com cabeçalho adicionado
# - Definidas valor padrão para variáveis de saída
#
#==============================================================================
#
# Licença:GPL

#Define envs
CWD="`pwd`"
TMP=${TMP:=/tmp}
SRC_NAME="snoopy"
PKG_NAME="snoopy"
PKG=${PKG:=${TMP}/package-${PKG_NAME}}
ARCH=${ARCH:="i686"}
VERSION=${VERSION:="1.3"}
BUILD=${BUILD:="1psy"}
SRC="${SRC_NAME}-${VERSION}.tar.gz"
# Dowload source if necessary
URL=${URL:="http://downloads.sourceforge.net/snoopylogger/${SRC}"}

#New files of configuration
dotnew=""

#docs.
DOCS="ChangeLog COPYING README TODO"

#If CLEANUP is defined "yes" or arg 1 is "--cleanup", clean files that were 
used to build package
CLEANUP=${CLEANUP:="no"}

#Small description of package
PKG_DESC_PEQ="Snoopy is logger of commands exec. per users."

#Description of package in size of handy-ruler per line. You must
# make exactly 10 lines.
#-----handy-ruler------------------------------------------------------|
PKG_DESC_BIG="
Snoopy is designed to aid the taks of a sysadmin by providing a log of
commands  executed. Snoopy is  completely transparent  to the user and
applications it hooks in as a library providing a wrapper around calls
to execve() calls. Logging is done via syslogd and written to authpriv
allowing secure offsite logging of activity, stored in 
/var/log/secure.

Official Site: http://sourceforge.net/projects/snoopylogger
Packager: Psycho Mantys ( psycho.mantys (a.t.) gmail.com )
"

##############End of envs conf

PKG_VERSION="`echo "${VERSION}" | tr '[:blank:]-[]' '_'`"
SRC_DIR=${SRC_DIR:="${CWD}"}
REPOS=${REPOS:="${TMP}"}
PREFIX=${PREFIX:="/usr"}
PKG_SRC="${SRC_DIR}/${SRC_NAME}-${VERSION}"

# Set system libraries path
LIBDIR="/lib"

#default patches. If not exist, overlook.
patches="${PACKAGE}.diff ${PACKAGE}-${VERSION}.diff 
${PACKAGE}-${VERSION}-${ARCH}.diff ${PACKAGE}-${ARCH}.diff"

# Set error codes
ERROR_WGET=31;          ERROR_MAKE=32;          ERROR_INSTALL=33
ERROR_MD5=34;           ERROR_CONF=35;          ERROR_HELP=36
ERROR_TAR=37;           ERROR_MKPKG=38;         ERROR_GPG=39
ERROR_PATCH=40;         ERROR_VCS=41;           ERROR_MKDIR=42

dirinstall(){
        mkdir -p "${PKG}/install" || exit ${ERROR_MKDIR}
        if [ -f ${CWD}/slack-desc ] ; then
                cp ${CWD}/slack-desc "${PKG}/install/slack-desc"
        else
                cat << EODESC > "${PKG}/install/slack-desc"
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.

#${PKG_NAME}|-----handy-ruler------------------------------------------------------|
${PKG_NAME}: ${PKG_NAME}(${PKG_DESC_PEQ})
EODESC
                xargs -d '\n' -i echo ${PKG_NAME}: {} >> 
"${PKG}/install/slack-desc" <<< "${PKG_DESC_BIG}"
        fi
        
        if [ -f ${CWD}/doinst.sh ] ; then
                cat ${CWD}/doinst.sh >> "${PKG}/install/doinst.sh"
        fi
        
        if [ "x${dotnew}" != "x" ] ; then 
                cat << EOSCRIPT >> "${PKG}/install/doinst.sh"
for NEW in " ${dotnew} " ; do
        OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
        if [ ! -r \$OLD ]; then
                mv \$NEW \$OLD
        elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
                rm \$NEW
        fi
done

EOSCRIPT
        fi

        #requiredbuilder = Build deps.(slapt-get style) tool. 
http://www.stabellini.net/requiredbuilder.html
        requiredbuilder -v -y ${PKG}
        #old format
        #requiredbuilder -n -v ${PKG} | sed s'/\( [^|- ]*\)-\([^| -]*\)-\([^ 
\$]*\)/\1/g' >> ${PKG}/install/slack-required
        
}


importaGPG(){
#################
gpg --import << EOKEY || exit $ERROR_GPG
[[SIGNING KEY]]
EOKEY
##################
}


DeterFlagsDeArch(){
        # Slackware 11 and up need other option (gcc > 3.3.x)
        if [ $(gcc -dumpversion | tr -d  '.' |cut -c 1-2) -gt 33 ]; then
                MOPT=tune
        else
                MOPT=cpu
        fi
        case "${ARCH}" in
                i386)
                        SLKCFLAGS="-O2 -march=i386 -m${MOPT}=i686 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i386-pc-linux-gnu"
                        ;;
                i486)   
                        SLKCFLAGS="-O2 -march=i486 -m${MOPT}=i686 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i486-pc-linux-gnu"
                        ;;
                i586)
                        SLKCFLAGS="-O2 -march=i586 -m${MOPT}=i686 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i586-pc-linux-gnu"
                        ;;
                i686)
                        SLKCFLAGS="-O2 -march=i686 -m${MOPT}=i686 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                s390)
                        SLKCFLAGS="-O2"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        ;;
                powerpc)
                        SLKCFLAGS="-O2"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        ;;
                x86_64)
                        SLKCFLAGS="-O2 -fPIC"
                        SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
                        ;;
                pentium)
                        SLKCFLAGS="-O2 -march=pentium -m${MOPT}=pentium -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i586-pc-linux-gnu"
                        ;;
                pentium-mmx)
                        SLKCFLAGS="-O2 -march=pentium-mmx -m${MOPT}=pentium-mmx 
-pipe -fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i586-pc-linux-gnu"
                        ;;
                pentiumpro)
                        SLKCFLAGS="-O2 -march=pentiumpro -m${MOPT}=pentiumpro 
-pipe -fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                pentium2|celeron1|mendocino)
                        SLKCFLAGS="-O2 -march=pentium2 -m${MOPT}=pentium2 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                pentium3|coppermine|celeron2)
                        SLKCFLAGS="-O2 -march=pentium3 -m${MOPT}=pentium3 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                pentium3m)
                        SLKCFLAGS="-O2 -march=pentium3m -m${MOPT}=pentium3m 
-pipe -fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                pentium-m)
                        SLKCFLAGS="-O2 -march=pentium-m -m${MOPT}=pentium-m 
-pipe -fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                pentium4|willamette) #intel celeron
                        SLKCFLAGS="-O2 -pipe -march=pentium4 -m${MOPT}=pentium4 
-pipe -fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                pentium4m)
                        SLKCFLAGS="-O2 -march=pentium4m -m${MOPT}=pentium4m 
-pipe -fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                prescott)
                        SLKCFLAGS="-O2 -march=prescott -m${MOPT}=prescott -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                nocona)
                        SLKCFLAGS="-O2 -march=nocona -m${MOPT}=nocona -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                core2)
                        SLKCFLAGS="-O2 -march=core2 -m${MOPT}=core2 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                c3)
                        SLKCFLAGS="-O2 -march=c3 -m${MOPT}=c3 -pipe 
-fomit-frame-pointer -m3dnow"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i586-pc-linux-gnu"
                        ;;
                c3-2)
                        SLKCFLAGS="-O2 -march=c3-2 -m${MOPT}=c3-2 -pipe 
-fomit-frame-pointer -m3dnow"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i586-pc-linux-gnu"
                        ;;
                k6)
                        SLKCFLAGS="-O2 -march=k6 -m${MOPT}=k6 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i586-pc-linux-gnu"
                        ;;
                k6-2)
                        SLKCFLAGS="-O2 -march=k6-2 -m${MOPT}=k6-2 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i586-pc-linux-gnu"
                        ;;
                k6-3)
                        SLKCFLAGS="-O2 -m${MOPT}=k6-3 -march=k6-3 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i586-pc-linux-gnu"
                        ;;
                k8)
                        SLKCFLAGS="-O2 -m${MOPT}=k8 -march=k8 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                opteron)
                        SLKCFLAGS="-O2 -march=opteron -m${MOPT}=opteron -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                athlon)
                        SLKCFLAGS="-O2 -march=athlon -pipe -fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                athlon-tbird|k7)
                        SLKCFLAGS="-O2 -march=athlon-tbird -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                athlon-xp)
                        SLKCFLAGS="-march=athlon-xp -O2 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                athlon-mp)
                        SLKCFLAGS="-O2 -march=athlon-mp -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                athlon-4)
                        SLKCFLAGS="-O2 -march=athlon-4 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                athlon64)
                        SLKCFLAGS="-O2 -march=athlon64 -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        ;;
                athlon-fx)
                        SLKCFLAGS="-O2 -march=athlon-fx -pipe 
-fomit-frame-pointer"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        CHOST="i686-pc-linux-gnu"
                        ;;
                winchip-c6)
                        SLKCFLAGS="-O2 -march=winchip-c6 -fomit-frame-pointer 
-pipe"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        ;;
                winchip2)
                        SLKCFLAGS="-O2 -march=winchip2 -fomit-frame-pointer 
-pipe"
                        SLKLDFLAGS=""; LIBDIRSUFFIX=""
                        ;;
        esac
        export LIBDIRSUFFIX
}

Prepara(){
        rm -rf "${PKG_SRC}" 2> /dev/null
        rm -rf "${PKG}" 2> /dev/null
        mkdir -p "${SRC_DIR}" || exit $ERROR_MKDIR
        mkdir -p "${PKG}" || exit $ERROR_MKDIR
        mkdir -p "${PKG}"/"${LIBDIR}${LIBDIRSUFFIX}"
        mkdir -p "${REPOS}" || exit $ERROR_MKDIR
        mkdir -p ${PKG}/usr/src/slackbuilds/${PKG_NAME}
        cp -f ${CWD}/$0 ${PKG}/usr/src/slackbuilds/${PKG_NAME}
}

baixaFonte(){
        if [ ! -s "${SRC_DIR}/${SRC}" ] ; then
                wget "${URL}" -O "${SRC_DIR}/${SRC}" || exit $ERROR_WGET
        fi
}

verificaAssinatura(){
        if [ ! -s "${SRC_DIR}/${SRC}.sig" ]; then
                wget "${URL}.sig" -O "${SRC_DIR}/${SRC}.sig" || exit $ERROR_WGET
        fi
        gpg --verify "${SRC_DIR}/${SRC}.sig" "${SRC_DIR}/${SRC}" || exit 
$ERROR_GPG
}

descompactar(){
#       cd "$SRC_DIR"
        tar --no-same-owner --no-same-permissions -xvf "${SRC_DIR}/${SRC}" || 
exit $ERROR_TAR
}

aplicarPatch(){
        cd "${PKG_SRC}"
        for patch in ${patches} ; do
                if [ -f "${CWD}/${patch}" ] ; then
                        patch -Np1 < "${CWD}/${patch}" || exit ${ERROR_PATCH}
                elif [ -f "${CWD}/patches/${patch}" ]; then
                        patch -Np1 < "${CWD}/patches/${patch}" || exit 
${ERROR_PATCH}
                fi
        done
}

compilar(){
        cd ${SRC_DIR}/${SRC_NAME}-*[^{.bz2}{.gz}]
        make LIBS="${SLKCFLAGS} -ldl" || exit ${ERROR_MAKE}
}

instalar(){
        cd ${SRC_DIR}/${SRC_NAME}-*[^{.bz2}{.gz}]
        install -m 755 snoopy.so "${PKG}"/"${LIBDIR}${LIBDIRSUFFIX}"/snoopy.so 
|| exit "${ERROR_INSTALL}"
        mkdir -p "${PKG}"/install/
        cat install.sh >> "${PKG}"/install/doinst.sh
        echo "ldconfig &" >> "${PKG}"/install/doinst.sh
}

stripa(){
        cd "${PKG}"
        find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
        xargs strip --strip-unneeded 2> /dev/null
        find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | 
\
        xargs strip --strip-unneeded 2> /dev/null
}

man_info_doc(){
        if [ -d "${PKG}/${PREFIX}/man" ] ; then
        (
                cd "${PKG}/${PREFIX}/man"
                for manpagedir in $(find . -type d -name "man*") ; do
                (
                        cd ${manpagedir}
                        for eachpage in $( find . -type l -maxdepth 1) ; do
                                ln -s $( readlink ${eachpage} ).gz 
${eachpage}.gz
                                rm ${eachpage}
                        done
                        gzip -9 *.?
                )
                done
        )
        fi
        if [ -d "${PKG}/${PREFIX}/info" ] ; then
        (
                cd "${PKG}/${PREFIX}/info"
                rm -f dir
                gzip -9 *
        )
        fi
        mkdir -p "${PKG}/${PREFIX}/doc/${PKG_NAME}-${VERSION}" || exit 
${ERROR_MKDIR}   
        for docs in ${DOCS} ; do
        (
                if [ -f "${docs}" ] ; then
                        cp -a "${docs}" "$PKG/$PREFIX/doc/$PKG_NAME-$VERSION"
                fi
        )
        done
}

construirtgz(){
        cd "${PKG}"
        makepkg --linkadd  y --chown n 
"${REPOS}/${PKG_NAME}-${PKG_VERSION}-${ARCH}-${BUILD}.tgz" || exit 
${ERROR_MKPKG}
}

limpar(){
        if [ "x${CLEANUP}" == "xyes" ] || [ "x${1}" == "x--cleanup" ] ; then
                rm -rf "${PKG_SRC}" "${PKG}" "${SRC_DIR}/${SRC}"
        fi
}


DeterFlagsDeArch
Prepara
#importaGPG
baixaFonte
#verificaAssinatura
descompactar
aplicarPatch
compilar
man_info_doc
instalar
stripa
dirinstall
construirtgz
limpar ${1}




#TODO
#DeterFlagsDeArch (FEITO)
#Prepara (FEITO)
#
#importaGPG  e  verificaAssinatura
#                       Nao sei com isso e feito. Quando precisar, descubro
#
#baixaFonte (FEITO)
#descompactar (FEITO) lembrete: Tem um cd nao nescessario comentado.
#aplicarPatch (FEITO) se nao tiver patchs, ele nao faz nada. Os patchs esta 
definidos em variavel.
#compilar (FEITO) lembrete: A expressao "cd 
${SRC_DIR}/${SRC_NAME}-*[^{.bz2}{.gz}]" e para dar um cd para dentro da pasta 
do pacote.
#instalar (FEITO)
#stripa (FEITO)
#man_info_doc (FEITO) tem que ver se o pacote tem essa forma de docs.
#dirinstall
#               Colocar descriçao numa variavel.
#construirtgz (FEITO)
#limpar (FEITO) lembrete: pegando o --cleanup
#
#
#(FEITO)PKG_DESCRICAO_BIG pegando descriçao do pacote grando.
#       xargs -d '\n' -i echo ${PKG_NAME}: {} >> "$PKG/install/slack-desc" <<< 
"${PKG_DESCRICAO_BIG}"
#(FEITO)para o requiredbuilder: requiredbuilder -n -v .
#(FAIL)(IMCONPATIVEL COM PADRAO)Para o sed do requiredbuilder: sed s'/\( [^|- 
]*\)-\([^| -]*\)-\([^ \$]*\)/\1/g'
#TODO: Add var com suggest e required(se possivel para doinstall a mais tb)

Responder a