]> gitweb.fluxo.info Git - simplepkg.git/commitdiff
mkbuild-1.1.1: adição dos campos UNPACKER e UNPACKER FLAGS
authorrudson <rudson@04377dda-e619-0410-9926-eae83683ac58>
Mon, 5 Nov 2007 17:23:06 +0000 (17:23 +0000)
committerrudson <rudson@04377dda-e619-0410-9926-eae83683ac58>
Mon, 5 Nov 2007 17:23:06 +0000 (17:23 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@451 04377dda-e619-0410-9926-eae83683ac58

trunk/doc/mkbuild-pt_BR.tex
trunk/mkbuild/generic.mkSlackBuild
trunk/mkbuild/model.mkbuild
trunk/mkbuild/sample-Pyrex-large.mkbuild
trunk/src/mkbuild

index 9e620ae8c5bbbfa199d3b51d74e49de9992e57d5..d0516d6b759b06149ee2ecaa27d28e08d4d0a110 100644 (file)
@@ -52,7 +52,7 @@
 
 \section{Introdução}
 
-O \textit{mkbuild} é um programa em \textit{script shell} destinado a construção de \textit{Slackbuilds},  \textit{scripts} utilizados para a construção de pacotes no \textit{Slackware}.
+O \textit{mkbuild} é um programa em \textit{script shell} destinado a construção de \textit{Slackbuilds},  \textit{scripts} utilizados para a construção de pacotes no \textit{Slackware}. O texto a seguir apresenta informações úteis para utilizar o \textit{mkbuild} na construção destes \textit{scripts}, bem como configurar e utilizar modelos de \textit{SlackBuilds} e outras personalizações.
 
 \section{O modelo generic.mkSlackBuild}
 
@@ -67,7 +67,7 @@ Este modelo 
 
 \subsection{Os Campos}
 
-O modelo \verb!generic.mkSlackBuild! é um \textit{SlackBuild} genérico com vários campos destacados por duplo colchetes, \verb![[! \dots \verb!]]!, com mostra o trecho abaixo:
+O modelo \textit{generic.mkSlackBuild} é um \textit{SlackBuild} genérico com vários campos destacados por duplo colchetes, [[ \dots ]], com mostra o trecho abaixo:
 
 \begin{verbatim}
 ...
@@ -98,13 +98,15 @@ PROGRAM URL                & \textit{URL} da fonte do pacote                \\
 SLACKBUILD AUTHOR          & nome do autor                                  \\
 SOURCE NAME                & nome da fonte, sem versão ou extensão          \\
 PACKAGE NAME               & nome do pacote e ser gerado                    \\
-ARCH                       & arquitetura do pacote. Padrão \verb!i486!      \\
+ARCH                       & arquitetura do pacote. Padrão i486      \\
 VERSION                    & versão do pacote                               \\
 SLACKBUILD AUTHOR INITIALS & assinatura utilizada pelo autor                \\
-PREFIX                     & prefixo da instalação (\verb!/usr!, \verb!/opt!, ...)\\
-SOURCE EXTENSION           & extensão da fonte (\verb!bz2!, \verb!gz!, ...) \\
+PREFIX                     & prefixo da instalação (/usr, /opt, \dots)\\
+SOURCE EXTENSION           & extensão da fonte (bz2, gz, \dots) \\
+UNPACKER                   & programa de dessempacotamento (geralmenrte "tar") \\
+UNPACKER FLAGS             & flags para o desempacotador \\
 DOWNLOAD FOLDER URL        & \textit{URL} da pasta onde se encontra a fonte \\
-DECOMPRESSOR               & o descompressor para a fonte (\verb!gunzip!, \verb!bunzip2!, ...) \\
+DECOMPRESSOR               & o descompressor para a fonte (gunzip, bunzip2, \dots) \\
 DECOMPRESSOR TEST FLAG     & \textit{flag} de teste do descompressor        \\
 SIGNING KEY URL            & \textit{URL} da chave \textit{gpg} do fonte    \\
 SIGNING KEY                & chave \textit{gpg} da fonte                    \\
@@ -112,20 +114,20 @@ MD5SUM EXTENSION           & extens
 PATCH FILES                & arquivo \textit{path}                          \\
 NUMBER OF PREFIX SLASHES TO STRIP  & \dots                                  \\
 SOURCE NAME CONSTRUCTION STRING  & string para a construção do nome do arquivo. O padrão é \$SRC\_NAME-\$VERSION.tar.\$EXTENSION  \\
-OTHER CONFIGURE ARGS       & argumentos de configuração passados ao \verb!./configure! \\
-DOCUMENTATION FILES        & lista de arquivos para a pasta \verb!/usr/doc/PACKAGE! \\
-SLACK-DESC                 & conteúdo do \verb!slack-desc!, descrição do pacote \\
-REST OF DOINST.SH          & conteúdo do \verb!doinst.sh!                   \\
+OTHER CONFIGURE ARGS       & argumentos de configuração passados ao ./configure \\
+DOCUMENTATION FILES        & lista de arquivos para a pasta /usr/doc/PACKAGE \\
+SLACK-DESC                 & conteúdo do slack-desc, descrição do pacote \\
+REST OF DOINST.SH          & conteúdo do doinst.sh                   \\
 \hline
 \end{tabular}
 \\\\
 
-Em alguns casos o nome do pacote difere do nome da fonte, como é o caso da fonte \verb!sigc++!, que gera o pacote de nome \verb!libsiggc++!. Por este motivo que existem os campos \textit{SOURCE NAME} e \textit{PACKAGE NAME}. Para uma compreensão mais profunda destes campos, aconselho ler o \textit{script} \textit{generic.SlackBuild}.
+Em alguns casos o nome do pacote difere do nome da fonte, como é o caso da fonte \textit{sigc++}, que gera o pacote de nome \textit{libsiggc++}. Por este motivo que existem os campos \textit{SOURCE NAME} e \textit{PACKAGE NAME}. Para uma compreensão mais profunda destes campos, aconselho fazer uma análise mais rofunda do \textit{script} \textit{generic.SlackBuild}.
 
 
 \subsection{As Seções}
 
-As seções no modelo \verb!generic.mkSlackBuild!, são iniciadas pela \textit{tag} \verb!<nome_da_seção>! e terminadas com \verb!</nome_da_seção>!, como em um código \textit{html}, \underline{sem espaços}.
+As seções no modelo \textit{generic.mkSlackBuild}, são iniciadas pela \textit{tag} <nome\_da\_seção> e terminadas com </nome\_da\_seção>, como em um código \textit{html}, \underline{sem espaços}.
 
 A única seção que não pode ter seu nome alterado é \textit{slackdesc}. Esta seção é editada de uma forma diferenciada pelo \textit{mkbuild} e a alteração de seu nome poderá gerar erro.
 
@@ -137,45 +139,47 @@ Cada se
  \item[all] sempre habilitado.
 \end{description}
 
-A intenção destas \textit{flags} é gerar um padrão para as seções, deixando em \textbf{all} as seções que deverão estar sempre habilitadas e \textbf{on} ou \textbf{off} seções que podem ser habilitadas ou desabilitadas de acordo com as necessidades do \textit{SlackBuild} que será construído.
+A intenção destas \textit{flags} é gerar um padrão para as seções, deixando em \textbf{all} as seções que deverão estar sempre habilitadas e \textbf{on} ou \textbf{off} seções que podem ser habilitadas ou desabilitadas de acordo com as necessidades do \textit{SlackBuild} que será construído\footnote{Na versão 1.1.x do mkbuild, todas as seções foram configuradas como \textbf{off}, para simplificar a vizualização do script de configuração \textit{.mkbuild}.}.
 
-As seções padrões do \verb!generic.mkSlackBuild! são listadas na tabela abaixo:
+As seções padrões do \textit{generic.mkSlackBuild} são listadas na tabela abaixo:
 \\\\
-\begin{tabular}{l|l|c}
+\begin{tabular}{l|l|c|c}
 \hline
-Seção & Descrição & Flag \\
+Seção & Descrição & 1.0.x & 1.1.x\\
 \hline
-head                         & cabeçalho do \textit{SlackBuild}         & all \\
-slackbuildrc                 & carrega \textit{script} \verb!slackbuildrc! & off \\
-set\_variables               & inicia as variáveis                      & all \\
-slkflags                     & carrega \textit{flags} para compilação   & all \\
-error\_codes                 & códigos de erro para o \verb!createpkg!  & off \\
-start\_structure             & cria diretórios para compilação          & all \\
-download\_source             & baixa a fonte do pacote                  & off \\
-md5sum\_download\_and\_check\_0 & verifica \textit{md5sum} da fonte por código & off \\
-md5sum\_download\_and\_check\_1 & verifica \textit{md5sum} da fonte por arquivo & off \\
-gpg\_signature\_check        & verifica assinatura \textit{gpg} da fonte & off \\
-untar\_source                & desempacota a fonte                      & all \\
-path\_source                 & aplica \textit{path} a fonte             & off \\
-configure                    & configura pacote                         & off \\
-make\_package                & compila o pacote                         & all \\
-install\_package             & instala o pacote em diretório temporário & all \\
-strip\_binaries              & limpa binários                           & off \\
-compress\_manpages           & comprime páginas de manuais              & off \\
-compress\_info\_files        & comprime arquivos \textit{info}          & off \\
-install\_documentation       & instala documentação                     & off \\
-slackdesc                    & \textit{slackdesc} do pacote             & off \\
-postinstall\_script          & \textit{script} de pós-instalação        & off \\
-build\_package               & constrói pacote                          & all \\
-clean\_builds                & remove fontes e instalação temporária    & off \\
+head                         & cabeçalho do \textit{SlackBuild}         & all & on \\
+slackbuildrc                 & carrega \textit{script} \textit{slackbuildrc} & off & off \\
+set\_variables               & inicia as variáveis                      & all & on \\
+slkflags                     & carrega \textit{flags} para compilação   & all & on \\
+error\_codes                 & códigos de erro para o \textit{createpkg}  & off & off \\
+start\_structure             & cria diretórios para compilação          & all & on \\
+download\_source             & baixa a fonte do pacote                  & off & off \\
+md5sum\_download\_and\_check\_0 & verifica \textit{md5sum} da fonte por código & off & off \\
+md5sum\_download\_and\_check\_1 & verifica \textit{md5sum} da fonte por arquivo & off & off \\
+gpg\_signature\_check        & verifica assinatura \textit{gpg} da fonte & off & off \\
+untar\_source                & desempacota a fonte                      & all & on \\
+path\_source                 & aplica \textit{path} a fonte             & off & off \\
+configure                    & configura pacote                         & off & off \\
+make\_package                & compila o pacote                         & all & on \\
+install\_package             & instala o pacote em diretório temporário & all & on \\
+strip\_binaries              & limpa binários                           & off & off \\
+compress\_manpages           & comprime páginas de manuais              & off & off \\
+compress\_info\_files        & comprime arquivos \textit{info}          & off & off \\
+install\_documentation       & instala documentação                     & off & off \\
+slackdesc                    & \textit{slackdesc} do pacote             & off & off \\
+postinstall\_script          & \textit{script} de pós-instalação        & off & off \\
+build\_package               & constrói pacote                          & all & on \\
+clean\_builds                & remove fontes e instalação temporária    & off & off \\
 \hline
 \end{tabular}
 \\\\
 
+A terceira e a quarta colunas da tebela acima apresentam o status padrão para as seções nas versões 1.0.x e 1.1.x do \textit{mkbuild}. No \textit{mkbuild} versão 1.0.x, as seções \textbf{all} são configuradas no modelo \textit{generic.mkSlackBuild}. A partir da versão 1.1.x estas seções serão definidas como \textbf{on} ou \textbf{all} no \textit{model.mkbuild}, não mais no \textit{generic.mkSlackBuild}.
+
 
 \section{Configuração}
 
-Por hora, o \textit{mkbuild} utiliza apenas um variável de configuração em \verb!/etc/simplepkg/simplepkg.conf!. A variável \textit{SLACKBUILDS\_DIR} é necessária para utilizar o \textit{mkbuild} com a opção ``\textit{-c}'' ou ``-\textit{-commit}'', que incorpora os arquivos \textit{SlackBuild} e \textit{slack-required} à estrutura de diretórios do \textit{Slack.Sarava}, na cópia local.
+Por hora, o \textit{mkbuild} utiliza apenas um variável de configuração em /etc/simplepkg/simplepkg.conf. A variável \textit{SLACKBUILDS\_DIR} é necessária para utilizar o \textit{mkbuild} com a opção "\verb!-c!" ou "\verb!--commit!", que incorpora os arquivos \textit{SlackBuild} e \textit{slack-required} à estrutura de diretórios do \textit{Slack.Sarava}, na cópia local.
 
 
 \section{Criando o SlackBuild de um aplicativo}
@@ -199,14 +203,22 @@ Para fazer um \textit{SlackBuild} com o \textit{mkbuild} 
 #      make_package, install_package, build_package
 # Warning: don't remove '#>>' and "#<<" tags.
 #>> Start SlackBuild Sections:
+ on: head
  on: slackbuildrc
+ on: set_variables
  on: slkflags
  on: error_codes
+ on: start_structure
  on: download_source
+ on: md5sum_download_and_check_0
+ on: untar_source
  on: configure
+ on: make_package
+ on: install_package
  on: strip_binaries
  on: install_documentation
  on: slackdesc
+ on: build_package
  on: clean_builds
 #<< End SlackBuild Sections
 
@@ -239,7 +251,7 @@ pyrex.SlackBuild.old  sample-Pyrex-large.mkbuild
 
 Ele irá criar os arquivos \textit{pyrex.SlackBuild} e \textit{slack-required}, se o parâmetro \textit{SLACK REQUIRED} for passado. Arquivos antigos serão renomeados para \textit{.old}.
 
-Um modelo mais completo, com todos os parâmetros, \textit{sample-Pyrex-large.mkbuild}, é disponibilizado junto com o \textit{mkbuild}. Nas seções seguintes é dado uma breve explicação dos parâmetros e seções deste arquivo de parâmetros.
+Um modelo mais completo, com todos os parâmetros, \textit{sample-Pyrex-large.mkbuild}, é disponibilizado junto com o \textit{mkbuild}. Nas seções seguintes é apresentado uma breve descrição dos parâmetros e seções deste arquivo de parâmetros.
 
 
 \subsection{Descrição dos parâmetros do arquivo \textit{.mkbuild}}
@@ -259,7 +271,7 @@ A sintaxe para a passagem de par
 [[DESCRIÇÃO DO PARÂMETRO]]="Parâmetro entre aspas duplas"
 \end{verbatim}
 
-As aspas duplas podem ser omitidas\footnote{Nas versões inferiores a 0.9.9, do \textit{mkbuild}, o aspas duplo é o delimitador e por isto é obrigatório. Um parâmetro passado sem o aspas duplo será interpretado como um parâmetro vazio, nestas versões.}. O delimitador utilizado pelo \textit{mkbuild} é o primeiro caracter igual ($=$) a aparecer na linha. Qualquer outra ocorrência de caracter igual será lido como parte do parâmetro. O mesmo acontece com comentários colocados após o caracter igual. Por exemplo, na linha abaixo:
+As aspas duplas podem ser omitidas\footnote{Nas versões inferiores a 0.9.9, do \textit{mkbuild}, o aspas duplo é o delimitador e por isto é obrigatório. Um parâmetro passado sem o aspas duplo será interpretado como um parâmetro vazio, nestas versões.}. O delimitador utilizado pelo \textit{mkbuild} é o primeiro caracter igual (=) a aparecer na linha. Qualquer outra ocorrência de caracter igual será lido como parte do parâmetro. O mesmo acontece com comentários colocados após o caracter igual. Por exemplo, na linha abaixo:
 
 \begin{verbatim}
 [[PARÂMETRO TEST]]=Este parâmetro é um teste            # Este comentário será lido.
@@ -281,7 +293,7 @@ O par
 [[SLACKBUILD AUTHOR]]="Adalberto Simão Nader"
 \end{verbatim}
 
-O parâmetro \textit{SLACKBUILD AUTHOR INITIALS} é construído à partir da primeira letra de cada nome passado pelo parâmetro \textit{SLACKBUILD AUTHOR}, em letras minúsculas. Neste caso a assinatura será ``\textit{asn}'', as iniciais de \textit{Adalberto Simão Nader}.
+O parâmetro \textit{SLACKBUILD AUTHOR INITIALS} é construído a partir da primeira letra de cada nome passado pelo parâmetro \textit{SLACKBUILD AUTHOR}, em letras minúsculas. Neste caso a assinatura será "\verb!asn!", as iniciais de \textit{Adalberto Simão Nader}.
 
 Caso deseje passa outro valor basta adicionar a linha abaixo, ao arquivo de parâmetros.
 
@@ -317,7 +329,7 @@ Para que o \textit{SOURCE NAME} seja carregado corretamente, 
 NOME-DO-PROGRAMA-VER.SÃO.tar.EXTENSÃO
 \end{verbatim}
 
-O nome do programa pode ter vários campos separados por um hífen ``-'', já a versão, pode possuir vários números, ou mesmo letras, separados por ponto e terminados por um ``.tar.''. A extensão deve vir logo após o ``.tar.''.
+O nome do programa pode ter vários campos separados por um hífen "\verb!-!", já a versão, pode possuir vários números, ou mesmo letras, separados por ponto e terminados por um "\verb!.tar.!". A extensão deve vir logo após o "\verb!.tar.!".
 
 A variável \textit{PACKAGE NAME}, é construída com o mesmo valor de \textit{SOURCE NAME}, mas em letras minúsculas.
 
@@ -336,6 +348,16 @@ Desta forma, a divis
 Observe que a precedência é a passagem do valor como parâmetro, e não a sua construção.
 
 
+\subsubsection{UNPACKER e UNPACKER FLAGS}
+
+\textit{UNPACKER} contêm o nome do programa desempacotador das fontes, geralmente o comando "\verb!tar!", enquanto que o parâmetro \textit{UNPACKER FLAGS}, carrega as flags para o desempacotador. Os seus valores padrões são:
+
+\begin{verbatim}
+[[UNPACKER]]="tar"
+[[UNPACKER FLAGS]]="--no-same-owner --no-same-permissions -xvf"
+\end{verbatim}
+
+
 \subsubsection{SOURCE NAME CONSTRUCTION STRING}
 
 Deve conter uma string para a construção do nome da fonte. O valor padrão é
@@ -384,7 +406,7 @@ Estes s
 
 \subsubsection{PREFIX}
 
-A maioria das fontes de programas disponibilizados atualmente, utilizam uma opção \textit{--prefix} no seu \textit{configure}, para determinar o diretório onde o programa será instalado. No \textit{Slackware} o valor desta variável variava entre \verb!/usr!, \verb!/opt! e \verb!/usr/X11!. Na nova versão do \textit{Slackware}, provável 12.0, os diretórios \verb!/opt! e \verb!/usr/X11! foram removidos e todos os pacotes estão sendo instalados em \verb!/usr!. Por isto o seu valor padrão é \verb!/usr!.
+A maioria das fontes de programas disponibilizados atualmente, utilizam uma opção "\verb!--prefix!" no seu \textit{configure}, para determinar o diretório onde o programa será instalado. Nas versões inferiores a 12.0 do \textit{Slackware} o valor desta variável variava entre /usr, /opt e /usr/X11. Na versão 12.0, e provavelmente nas superiores, os diretórios /opt e /usr/X11 foram removidos e todos os pacotes estão sendo instalados em /usr. Por isto o seu valor padrão é /usr.
 
 \begin{verbatim}
 [[PREFIX]]="/usr"
@@ -393,7 +415,7 @@ A maioria das fontes de programas disponibilizados atualmente, utilizam uma op
 
 \subsubsection{NUMBER OF JOBS}
 
-O parâmetro \textit{NUMBER OF JOBS} é usado para indicar ao comando \textit{make} o número de processos que podem ser iniciados simultaneamente durante a compilação. A grande maioria dos programas atuais podem ser compilados em dois ou mais processos simultâneos. Isto reduz sensivelmente o tempo de compilação de um pacote, mesmo que sua máquina possua apenas um processador. Muitos \textit{SlackBuilds} oficiais do \textit{Slackware} utilizam este parâmetro configurado para ``7'' processos, ou seja ``-j7''. Este parâmetro pode ser passado como um número ou com a flag \textit{-j}, como nos exemplos abaixo.
+O parâmetro \textit{NUMBER OF JOBS} é usado para indicar ao comando \textit{make} o número de processos que podem ser iniciados simultaneamente durante a compilação da fonte. A grande maioria dos programas atuais podem ser compilados em dois ou mais processos simultâneos. Isto reduz sensivelmente o tempo de compilação de um pacote, mesmo que sua máquina possua apenas um processador. Muitos \textit{SlackBuilds} oficiais do \textit{Slackware} utilizam este parâmetro configurado para "\verb!7!" processos, ou seja "\verb!-j7!". Este parâmetro pode ser passado como um número ou com a flag "\verb!-j!", como nos exemplos abaixo.
 
 \begin{verbatim}
 [[NUMBER OF JOBS]]="7"
@@ -405,7 +427,6 @@ O par
 [[NUMBER OF JOBS]]="-j7"
 \end{verbatim}
 
-Por padrão, este parâmetro está desabilitado.
 
 \subsubsection{SLACK REQUIRED}
 
@@ -421,13 +442,13 @@ As condi
 \hline
 CONDIÇÃO & significado \\
 \hline
-$=$  & igual \\
-$>$  & maior \\
-$>=$ & maior ou igual \\
+=  & igual \\
+>  & maior \\
+>= & maior ou igual \\
 \hline
 \end{tabular}
 
-Os campos \textit{CONDIÇÃO} e \textit{VERSÃO} podem ser omitidos. Cada pacote da dependência deve ser separado por um ``:''.
+Os campos \textit{CONDIÇÃO} e \textit{VERSÃO} podem ser omitidos. Cada pacote da dependência deve ser separado por um ":".
 
 Para o \textit{SLACK REQUIRED} definido com a linha:
 
@@ -451,7 +472,7 @@ dep5            =               1.0
 
 \subsubsection{SLACKBUILD MODEL}
 
-Este parâmetro contém o nome do modelo utilizado para gerar os \textit{SlackBuilds}. O valor padrão é \textit{generic.mkSlackBuild}. Outros modelos podem ser utilizados adicionando-se o arquivo do modelo no diretório \verb!/etc/simplepkg/defaults/mkbuild/!. A linha abaixo
+Este parâmetro contém o nome do modelo utilizado para gerar os \textit{SlackBuilds}. O valor padrão é \textit{generic.mkSlackBuild}. Outros modelos podem ser utilizados adicionando-se o arquivo do modelo no diretório /etc/simplepkg/defaults/mkbuild/. A linha abaixo
 
 \begin{verbatim}
 [[SLACKBUILD MODEL]]="generic.mkSlackBuild.2"
@@ -462,7 +483,7 @@ Este par
 
 \subsubsection{SLACKBUILD PATH}
 
-Este parâmetro é necessário apenas para uso com a opção ``-c'', \textit{commit}. Ele indica o diretório, na estrutura de diretórios do Slack.Sarava, onde o \textit{SlackBuild} construído deverá ser armasenado. Se este parâmetro não for passado, o \textit{mkbuild} irá pesquisá-lo no repositório do \textit{gentoo}, pela \textit{internet}. Caso não consiga resolver com esta pesquisa, o \textit{SlackBuild} será colocado em um diretório padrão, para \textit{scripts} não classificados, em \verb!others/unclassified/$PKG_NAME!.
+Este parâmetro é necessário apenas para uso com a opção "\verb!-c!", \textit{commit}. Ele indica o diretório, na estrutura de diretórios do Slack.Sarava, onde o \textit{SlackBuild} construído deverá ser armasenado. Se este parâmetro não for passado, o \textit{mkbuild} irá pesquisá-lo no repositório do \textit{gentoo}, pela \textit{internet}\footnote{Esta pesquisa automática do mkbuild tem se mostrado pouco eficiente. Por isto é aconselhável verifica com um navegador a localização do \textit{SlackBuild} em http://gentoo-portage.com.}. Caso não consiga resolver com esta pesquisa, o \textit{SlackBuild} será colocado em um diretório padrão para \textit{scripts} não classificados, "\verb!others/unclassified/$PKG_NAME!".
 
 \begin{verbatim}
 [[SLACKBUILD PATH]]="dev/python/pyrex"
@@ -490,34 +511,48 @@ Al
 [[NEW PARAMETER]]="new value"
 \end{verbatim}
 
-O \textit{mkbuild} irá procurar a ocorrência da seqüência \textit{[[NEW PARAMETER]]} no modelo passado por \textit{[[SLACKBUILD MODEL]]} e irá substitui-lo por ``\textit{new value}''.
+O \textit{mkbuild} irá procurar a ocorrência da seqüência \textit{[[NEW PARAMETER]]} no modelo passado por \textit{[[SLACKBUILD MODEL]]} e irá substitui-lo por "\verb!new value!".
 
 
 \subsection{Habilitando seções}
 
-As seções do modelo \textit{generic.mkSlackBuild} são habilitadas na seção iniciada por ``\#$>>$'' e terminada por ``\#$<<$'', no arquivos de parâmetros. Como as seções estão desabilitadas no modelo padrão, \textit{generic.mkSlackBuild}, esta seção do arquivo de parâmetros tem apenas que habilitar as seções desejadas do modelo.
+As seções do modelo \textit{generic.mkSlackBuild} são habilitadas na seção iniciada por "\verb!#>>!" e terminada por "\verb!#<<!", no arquivos de parâmetros. Como as seções estão desabilitadas no modelo padrão, \textit{generic.mkSlackBuild}, esta seção do arquivo de parâmetros tem apenas que habilitar as seções desejadas do modelo.
 
 \begin{verbatim}
 #>> Start SlackBuild Sections:
+ on: head
  on: slackbuildrc
+ on: set_variables
  on: slkflags
  on: error_codes
+ on: start_structure
  on: download_source
+off: md5sum_download_and_check_0
+off: md5sum_download_and_check_1
+off: gpg_signature_check
+ on: untar_source
+off: patch_source
  on: configure
+ on: make_package
+ on: install_package
  on: strip_binaries
+off: compress_manpages
+off: compress_info_files
  on: install_documentation
-# linha ignorada
  on: slackdesc
+# esta linha é ignorada
+off: postinstall_script
+ on: build_package
  on: clean_builds
 #<< End SlackBuild Sections
 \end{verbatim}
 
-No caso do exemplo acima, são habilitadas as seções: \textit{slackbuildrc}, \textit{slkflags}, \textit{error\_codes}, \textit{download\_source}, \textit{configure}, \textit{strip\_binaries}, \textit{install\_documentation}, \textit{slackdesc} e \textit{clean\_builds}. Linhas iniciadas por uma tralha, \#, são ignoradas.
+No caso do exemplo acima, são desabilitadas as seções: \textit{md5sum\_download\_and\_check\_0}, \textit{md5sum\_download\_and\_check\_1}, \textit{gpg\_signature\_check}, \textit{patch\_source}, \textit{compress\_manpages}, \textit{compress\_info\_files} e \textit{postinstall\_script}. Linhas iniciadas por uma tralha, \#, são ignoradas. Como no modelo generic.mkSlackBuild todas as seções estão desabilitadas ("off"), apenas as seções ligadas necessitam ser habilitadas.
 
 
 \subsubsection{Substituição de seções do modelo}
 
-Em algumas situações pode ser necessário substituir o conteúdo de uma seção. Estas mudanças nas seções são feitas por iniciar uma seção, no arquivo de parâmetros, por ``\verb!#>nome_da_seção!'' e terminar por ``\verb!#<nome_da_seção!''. Quando o \textit{mkbuild} localiza estas seções no arquivo de parâmetros, ele substitui as seções padrões, de mesmo nome, pelo conteúdo definido no arquivo de parâmetros. Por exemplo:
+Em algumas situações pode ser necessário substituir o conteúdo de uma seção. Estas mudanças nas seções são feitas por iniciar uma seção, no arquivo de parâmetros, por "\verb!#>nome_da_seção!" e terminar por "\verb!#<nome_da_seção!". Quando o \textit{mkbuild} localiza estas seções no arquivo de parâmetros, ele substitui as seções padrões, de mesmo nome, pelo conteúdo definido no arquivo de parâmetros. Por exemplo:
 
 \begin{verbatim}
 #>untar_source
@@ -552,17 +587,26 @@ pyrex:
 #<slackdesc
 \end{verbatim}
 
-Para esta seção, o \textit{mkbuild} irá substituir o parâmetro \textit{[[SLACK-DESC]]} pelo conteúdo definido entre \verb!#>slackdesc! e \verb!#<slackdesc!, além de redimensionar a régua de orientação do \textit{slack-desc}.
+Para esta seção, o \textit{mkbuild} irá substituir o parâmetro \textit{[[SLACK-DESC]]} pelo conteúdo definido entre "\verb!#>slackdesc!" e "\verb!#<slackdesc!", além de redimensionar a régua de orientação do \textit{slack-desc}.
 
 
 \section{Considerações Finais}
 
-Vários parâmetros podem ser passados ao \textit{mkbuild} pela linha de comando. Um manual completo destas opções pode ser consultado passando flag \textit{-h}, ao \textit{mkbuild}:
+Para simplificar a construção dos \textit{SlackBuilds} é aconselhável editar o arquivo \verb!/etc/simplepkg/defaults/mkbuild/model.mkbuild! e adicionar algumas declarações padrões como:
 
-\begin{verbatim}
+\begin{itemize}
+\item \textit{SLACKBUILD AUTHOR} - com o seu nome
+\item \textit{SLACKBUILD AUTHOR INITIALS} - a assinatura dos pacotes
+\item \textit{SLACKBUILD MODEL} - caso o modelo utilizado difira do modelo padrão
+\item \textit{NUMBER OF JOBS} - com o valor desejado
+\item \dots
+\end{itemize}
 
+Vários destes parâmetros também podem ser passados ao \textit{mkbuild} pela linha de comando. Um manual completo destas opções pode ser consultado passando flag \verb!-h!, ao \textit{mkbuild}:
+
+\begin{verbatim}
 NAME
-        mkbuild - create SlackBuild script from mkbuild_file input
+        mkbuild - create SlackBuild script from .mkbuild input file
 
 SYNOPSIS
         mkbuild [OPIONS] [mkbuild_file]
@@ -597,8 +641,12 @@ DESCRIPTION
             this help mesage
         -c, --commit
             commit SlackBuilds in local svn tree
+        -n, --new <mkbuild_name>
+            start a new mkbuild configure file
         -v, --version
             program version
+        -V, --verbose
+            print debug information
 
 EXAMPLES
         mkbuild --prefix /usr/local pyrex.mkbuild
@@ -608,6 +656,9 @@ EXAMPLES
 AUTHOR
         Written by Rduson R. Alves
 
+AVAILABILITY
+        by svn: svn checkout svn://slack.sarava.org/simplepkg
+        this mkbuild is found in branches/0.6/
 
 REPORTING BUGS
         Report bugs to <alves_list@yahoo.com.br>
@@ -620,8 +671,9 @@ COPYRIGHT
         extent permitted by law.
 \end{verbatim}
 
-Uma opção interessante é a \textit{-c}, utilizada para adicionar e atualizar uma cópia da lista de \textit{SlackBuilds}, localmente.
+Uma opção interessante é a \verb!-c!, utilizada para adicionar e atualizar uma cópia do \textit{SlackBuild} gerado na lista de \textit{SlackBuilds} local.
 
+Slack.Sarava agradece a toda e qualquer contribuição que possa nos ajudar a manter e a desenvolver este projeto.
 
 \end{document}
 
index 777deac4bd57bdbf874a5ad6fcc71bee7bbea79c..18ecc6a9204e320583f9b4249db038d50ef69f0d 100644 (file)
@@ -139,7 +139,7 @@ gpg --verify "$SRC_DIR/$SRC.sig" "$SRC_DIR/$SRC" || exit $ERROR_GPG
 <untar_source> off
 # Untar
 cd "$TMP"
-tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+[[UNPACKER]] [[UNPACKER FLAGS]] "$SRC_DIR/$SRC" || exit $ERROR_TAR
 cd "$PKG_SRC"
 </untar_source>
 
index 3fb88c0efdb2cbd4c87f22013b13691470af25e2..c6953dbf911f43a0b4f51563ca1e9001aff9c84e 100644 (file)
 # Auto-set, get EXTENSION from URL: http://.../$SRC_NAME-$VERSION.tar.$EXTENSION'
 [[EXTENSION]]=""
 
+#
+# Unpacker programa ("") to auto-set. Default "tar"
+# Unpacke Flags ("") to auto-set. Default flags to tar "--no-same-owner --no-same-permissions -xvf"
+[[UNPACKER]]=""
+[[UNPACKER FLAGS]]=""
+
 #
 # Dependency list input
 # Enter string: "dependency_1 [condiction_1] [versio_1]: dependency_2 [condiction_2] [versio_2]"
index bbcf7e6fe142a064297ab649f85401e8e9c96969..047814a8eca5de4cfb5d0c59f974d2bfa50d5627 100644 (file)
 # Auto-set, get EXTENSION from URL: http://.../$SRC_NAME-$VERSION.tar.$EXTENSION'
 [[EXTENSION]]="gz"
 
+#
+# Unpacker programa ("") to auto-set. Default "tar"
+# Unpacke Flags ("") to auto-set. Default flags to tar "--no-same-owner --no-same-permissions -xvf"
+[[UNPACKER]]=""
+[[UNPACKER FLAGS]]=""
+
 #
 # Dependency list input
 # Enter string: "dependency_1 [condiction_1] [versio_1]: dependency_2 [condiction_2] [versio_2]"
 off: md5sum_download_and_check_1
 off: gpg_signature_check
  on: untar_source
-off: path_source
+off: patch_source
  on: configure
  on: make_package
  on: install_package
index 8572e775592c0a33c877dc52dfde708ab79fc58b..eeb548c6c7bff11a39e85f06d743a140b4d0c103 100755 (executable)
@@ -18,8 +18,8 @@
 #
 # Based in model generic.SlackBuild of Luiz
 #
-# Version 1.0.5
-PROG_VERSION=1.0.5
+# Version 1.1.1
+PROG_VERSION=1.1.1
 PROG_NAME=`basename $0`
 
 #--------------------------------------------------------------------
@@ -659,6 +659,15 @@ else
     EXTENSION=`validate_parameter "$EXTENSION" "EXTENSION" "$STR_MOUNT"` || mkbuild_error $ERROR_CONSTRUCTION "EXTENSION"
     [ $VERBOSE -eq $on ] && echo "[[EXTENSION]]=\"$EXTENSION\""
 
+    # Unpacker
+    UNPACKER=`validate_parameter "$UNPACKER" "UNPACKER" "tar"` || mkbuild_error $ERROR_CONSTRUCTION "UNPACKER"
+    [ $VERBOSE -eq $on ] && echo "[[UNPACKER]]=\"$UNPACKER\""
+
+    # Unpacker flags
+    [ "$UNPACKER"=="tar" ] && STR_MOUNT="--no-same-owner --no-same-permissions -xvf" || STRING=""
+    UNPACKER_FLAGS=`validate_parameter "$UNPACKER_FLAGS" "UNPACKER FLAGS" "$STR_MOUNT"` || mkbuild_error $ERROR_CONSTRUCTION "UNPACKER FLAGS"
+    [ $VERBOSE -eq $on ] && echo "[[UNPACKER_FLAGS]]=\"$UNPACKER_FLAGS\""
+
     # Build archteture
     ARCH=`validate_parameter "$ARCH" "ARCH" "i486"`
     [ $VERBOSE -eq $on ] && echo "[[ARCH]]=\"$ARCH\""