come costruire pacchetti con slackbuild?

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

come costruire pacchetti con slackbuild?

Messaggio da inux »

ciao è la seconda volta che ci ritorno ma stavolta voglio andare fino in fondo.vorrei fare dei pacchetti con slackbuild ho provato a leggere il wiki ma non ho capito cosa devo fare.
1_scaricare pacchetto tar.gz del programma.
2_lo slackbuild,ne scarico uno per tutti o devo trovare gli slack di tutti i pacchetti tar.gz?
3_ci sono altri files che devo scaricare?se si,dove li trovo?
raga sono in crisi non sò da che parte cominciare aiutoooo!!!!!Immagine

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Re: come costruire pacchetti con slackbuild?

Messaggio da albatros »

No, ogni programma ha il suo slackbuild.
Oltre allo slackbuild dovresti scaricare lo slack-desc (che è la descrizione di cosa fa il pacchetto e che ti viene visualizzato quando lo installi) ed eventualmente un file doinst.sh, che però molto spesso non è detto ci sia.
Di solito trovi tutto nella directory src del pacchetto, scarichi e dai sh nome-dello-slackbuild.

Hai dato un'occhiata anche a S4D?

Se conosci un minimo di sh/bash puoi dare un'occhiata allo slackbuild, non sono difficili da leggere, di solito, o quantomeno è facile capire dove mettere le mani per ottimizzare o personalizzare il pacchetto.

Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

Re: come costruire pacchetti con slackbuild?

Messaggio da inux »

si ho guardato s4d ma non riesco a capire.lo slackbuild quindi lo trovo dentro i pacchetti .tar.gz?

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: come costruire pacchetti con slackbuild?

Messaggio da Dani »

No te lo devi scrivere tu...In genere si ha uno script standard da modificare al volo in base al pacchetto.

Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

Re: come costruire pacchetti con slackbuild?

Messaggio da inux »

ok ma quindi devo scaricarmi i 2 files slackbuild e slack-desc per poi modificarli?

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: come costruire pacchetti con slackbuild?

Messaggio da Dani »

No se ti vanno bene...

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Re: come costruire pacchetti con slackbuild?

Messaggio da albatros »

In S4D Samiel ti spiega come costruire uno slackbuild partendo da 0.
I files tar.gz contengono generalmente "solo" i sorgenti, se hai uno slackbuild già pronto puoi usarlo così com'è o modificarlo secondo le tue esigenze, altrimenti te lo devi scrivere, insieme allo slack-desc (non obbligatorio, ma assai consigliabile - presta attenzione alla formattazione).
Uno slackbuild è solo uno script della shell, per costruire il pacchetto esegui lo script che compie in successione una serie di operazioni e produce in output un pacchetto tgz.

Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

Re: come costruire pacchetti con slackbuild?

Messaggio da inux »

stò cercando di seguire i passi di s4d:ho scaricato il sorgente di moodin.tar.gz lo devo scompattare o no?nella mia home(/home/inux#)ho scaricato il sorgente di moodin scompattato,slackbuild slack-desc trovati da internet ve li posto :

Codice: Seleziona tutto

#!/bin/sh
# $Id: moodin.SlackBuild,v 1.5 2007/03/23 09:00:30 root Exp root $
# Copyright (c) 2007 Eric Hameleers <alien@slackware.com>
# All rights reserved.
#
#   Permission to use, copy, modify, and distribute this software for
#   any purpose with or without fee is hereby granted, provided that
#   the above copyright notice and this permission notice appear in all
#   copies.
#
#   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
#   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
#   IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
#   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
#   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
#   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
#   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
#   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
#   SUCH DAMAGE.
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script 
# ===========================
# By:        Eric Hameleers <alien@slackware.com>
# For:       moodin
# Descr:     Splash Screen Engine for KDE
# URL:       http://www.kde-look.org/content/show.php?content=25705
# Needs:     
# Changelog:
# 0.4.2-1:   25/Aug/2005 by Eric Hameleers <alien@sox.homeip.net>
#            * Initial build.
# 0.4.2-2:   23/Mar/2007 by Eric Hameleers <alien@slackware.com>
#            * Made the SlackBuild script compatible with the new slackware
#              -current (other paths for KDE and X)
# 
# Run 'sh moodin.SlackBuild --cleanup' to build a Slackware package.
# The package (.tgz) plus descriptive .txt file are created in /tmp .
# Install using 'installpkg'. 
#
# -----------------------------------------------------------------------------

# --- INIT ---
# Set initial variables:

PRGNAM=moodin
VERSION=${VERSION:-0.4.2}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-2}

DOCS="AUTHORS BUGS ChangeLog COPYING CREDITS FAQ LICENSE MAINTAINERS \
      README* TODO src/doc/THEMEOPTIONS"

# Where do we look for sources?
CWD=`pwd`
SRCDIR=`dirname $0`
[ "${SRCDIR:0:1}" == "." ] && SRCDIR=${CWD}/${SRCDIR}

# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz"
SRCURL="http://moodwrod.com/files/ksplash-engine-moodin_${VERSION}.tar.gz"

##
## --- with a little luck, you won't have to edit below this point --- ##
##

# Exit the script on errors:
set -e
trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}

# 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"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
  i486)      SLKCFLAGS="-O2 -march=i486 -m${MOPT}=i686"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
  s390)      SLKCFLAGS="-O2"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
  powerpc)   SLKCFLAGS="-O2"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
  x86_64)    SLKCFLAGS="-O2 -fPIC"
             SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
             ;;
  athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
esac

if [ ! -d $TMP/tmp-$PRGNAM ]; then
  mkdir -p $TMP/tmp-$PRGNAM # location to build the source
elif [ "$P1" != "--oldbuild" ]; then
  # If the "--oldbuild" parameter is present, we keep
  #  the old build files and continue;
  # By default we remove the remnants of previous build and continue:
  rm -rf $TMP/tmp-$PRGNAM/*
fi

if [ ! -d $PKG ]; then
  mkdir -p $PKG  # place for the package to be built
else
  rm -rf $PKG/*  # We always erase old package's contents:
fi

if [ ! -d $OUTPUT ]; then
  mkdir -p $OUTPUT  # place for the package to be saved
fi


# --- SOURCE FILE AVAILABILITY ---

if ! [ -f ${SOURCE} ]; then
  if ! [ "x${SRCURL}" == "x" ]; then
    # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
    [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/`basename $SOURCE`"
    echo "Source '`basename ${SOURCE}`' not available yet..."
    echo "Will download file to `dirname $SOURCE`"
    wget -nv -O "${SOURCE}" "${SRCURL}" || true
    if [ $? -ne 0 ]; then
      echo "Downloading '`basename ${SOURCE}`' failed... aborting the build."
      mv -f "${SOURCE}" "${SOURCE}".FAIL
      exit 1
    fi
  else
    echo "File '`basename ${SOURCE}`' not available... aborting the build."
    exit 1
  fi
fi

if [ "$P1" == "--download" ]; then
  echo "Download complete."
  exit 0
fi

# --- PACKAGE BUILDING ---

echo "++"
echo "|| $PRGNAM-$VERSION"
echo "++"

cd $TMP/tmp-$PRGNAM
echo "Extracting the source archive(s) for $PRGNAM..."
if `file ${SOURCE} | grep -q ": bzip2"`; then
  tar -xjvf ${SOURCE}
elif `file ${SOURCE} | grep -q ": gzip"`; then
  tar -xzvf ${SOURCE}
fi
chown -R root:root *
chmod -R u+w,go+r-w,a-s *
mv ${PRGNAM} ${PRGNAM}-${VERSION}
cd ${PRGNAM}-${VERSION}


# --- BUILDING ---

echo Building ...

LDFLAGS="$SLKLDFLAGS" \
CFLAGS="$SLKCFLAGS" \
./configure --prefix=`kde-config --prefix` \
            2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log

#
# Install all the needed stuff to the package dir
#
# Use installwatch if available, to produce a logfile of the installation
# process that is more easily readable:
if `which installwatch  > /dev/null 2>&1`; then
  installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install
else
  make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
fi


# --- DOCUMENTATION ---

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
chmod -R a-w $PKG/usr/doc/$PRGNAM-$VERSION/*

# Compress the man page(s)
if [ -d $PKG/usr/man ]; then
  find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
  for i in `find $PKG/usr/man -type l -name "*.?"` ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
fi

# Strip binaries
cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
cd -


# --- OWNERSHIP, RIGHTS ---

chmod -R o-w $PKG


# --- PACKAGE DESCRIPTION ---

mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
if [ -f $SRCDIR/doinst.sh ]; then
  cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
fi


# --- BUILDING ---

# Build the package:
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txt


# --- CLEANUP ---

# Clean up the extra stuff:
if [ "$P1" = "--cleanup" ]; then
  rm -rf $TMP/tmp-$PRGNAM
  rm -rf $PKG
fi
questo è lo slackbuild adesso vi posto lo slackdesc :

Codice: Seleziona tutto

#!/bin/sh
CWD=`pwd`
TMP=${TMP:-/tmp}
PKG=$TMP/package-moodin

VERSION=0.4.2
ARCH=${ARCH:-x86_64}
BUILD=1

if [ "$ARCH" = "i386" ]; then
  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
fi

if [ ! -d $TMP ]; then
  mkdir -p $TMP
fi
rm -rf $PKG
mkdir -p $PKG
cd $TMP
rm -rf moodin-$VERSION
tar xzvf $CWD/moodin-$VERSION.tar.gz
cd moodin-$VERSION
chown -R root.root .
find . -perm 777 -exec chmod 755 {} \;
find . -perm 664 -exec chmod 644 {} \;
LDFLAGS=-L/usr/lib64 \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure --prefix=/opt/kde --disable-debug \
  --program-prefix="" \
  --program-suffix="" \
  $ARCH-slackware-linux
make
make install DESTDIR=$PKG
( 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
)
mkdir -p $PKG/usr/doc/moodin-$VERSION
cp -a \
  AUTHORS COPYING ChangeLog INSTALL NEWS README TODO \
  $PKG/usr/doc/moodin-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

if [ -f $CWD/slack-required ]; then
  cat $CWD/slack-required > $PKG/install/slack-required
fi

cd $PKG
makepkg -l y -c n $TMP/moodin-$VERSION-$ARCH-$BUILD.tgz

#
exit
come dice s4d io digito da console : sh moodin.slackbuild
sh: moodin.slackbuild: No such file or directory
mi potete spiegare perchè mi dice cosi?dove stò sbagliando?grazie ciaoImmagine
Ultima modifica di inux il dom 3 feb 2008, 13:47, modificato 1 volta in totale.

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Re: come costruire pacchetti con slackbuild?

Messaggio da albatros »

inux ha scritto:sh: moodin.slackbuild: No such file or directory
Ma il tuo slackbuild non si chiama moodin.SlackBuild ?
(ricorda che linux è CaSe SeNsItIvE)

Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

Re: come costruire pacchetti con slackbuild?

Messaggio da inux »

non cambia nulla anche digitando

/home/inux# sh slackbuild
sh: slackbuild: No such file or directory

non riesco a capire non è che lo devo rendere eseguibile?

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Re: come costruire pacchetti con slackbuild?

Messaggio da albatros »

Non mi sono spiegato bene: come si chiama il tuo slackbuild? Il nome del file qual è?
slackbuild? No, perché la risposta è stata: sh: slackbuild: No such file or directory
moodin.slackbuild? No, perché la risposta è stata: sh: moodin.slackbuild: No such file or directory

Siccome nello slackbuild c'è scritto:
#!/bin/sh
# $Id: moodin.SlackBuild,v 1.5 2007/03/23 09:00:30 root Exp root $

e anche:
# Run 'sh moodin.SlackBuild --cleanup' to build a Slackware package

suppongo che lo slackbuild, a meno che tu non lo abbia rinominato, si chiami:
moodin.SlackBuild
che è diverso da moodin.slackbuild, perché linux è case sensitive, distingue cioè fra maiuscole e minuscole.

Io farei come dicono le istruzioni qui sopra:
esegui sh moodin.SlackBuild --cleanup per costruire un pacchetto per slackware.

In generale per eseguire uno script della shell puoi dare sh nome-dello-script.
Se lo rendi eseguibile con chmod allora puoi dare ./nome-dello-script o, se la directory in cui si trova è in $PATH, puoi dare semplicemente nome-dello-script .

Spero di essere stato abbastanza chiaro, adesso...

Ti consiglio comunque un'infarinatura di sh/bash, se ti piace usare linux... ;)

P.S.
Attenzione, che questo slackbuild è scritto per la versione 0.4.2 di moodin, se devi compilare una versione successiva devi cambiare la versione nella riga:
VERSION=${VERSION:-0.4.2}

Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

Re: come costruire pacchetti con slackbuild?

Messaggio da inux »

grazie adesso a funzionato avevi ragione sbagliavo a digitare il nome adesso però mi da questo messaggio:

root@darkstar:/home/inux# sh moodin.SlackBuild
Source 'moodin-0.4.2.tar.gz' not available yet...
Will download file to /home/inux/.
++
|| moodin-0.4.2
++
Extracting the source archive(s) for moodin...
chown: cannot access `*': No such file or directory
moodin.SlackBuild FAILED at line 166!

sai dirmi cosa significa?ciao :(

Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

Re: come costruire pacchetti con slackbuild?

Messaggio da inux »

ciao ho provato a modificare questo SlackBuild potete vedere se va bene o manca qualcosa?premetto che è solo un'esercitazione scusate se fa un pò schifo.Immagine

Codice: Seleziona tutto

#!/bin/bash
#hevily based on the Slackware 12.0 SlackBuild
#http://www.slacky.eu/
#
# SlackBuild by inux
#

NAME=moodin
VERSION=0.4.2
test -z "$ARCH" && ARCH=i486
test -z "$TMP" && TMP=/tmp
BUILD=1gal
PKG=$TMP/package-$NAME moodin
CWD=`pwd`

TARBALL=$NAME-$VERSION.tar.gz
PACK=$NAME-$VERSION-$ARCH-$BUILD.tgz

if [ $ARCH == "i486" ]; then
 OPTFLAGS="-O2 -march=i486 -mtune=i686"
elif [ $ARCH == "athlon-xp" ]; then
 OPTFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
elif [ $ARCH == "pentium4" ]; then
 OPTFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe"
elif [ $ARCH == "pentiumm" ]; then
 OPTFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe"
fi

function get_sources() 
{
  wget http://blabla.org/$TARBALL || exit 1
}

TARGET=i486

test -e $PKG && rm -rf $PKG
test -e $TMP/$NAME-$VERSION && rm -rf $TMP/$NAME-$VERSION

test ! -e $TARBALL && get_sources

tar xvjf $TARBALL -C $TMP 
cd $TMP/$NAME-$VERSION

CFLAGS=${OPTFLAGS} \
CXXFLAGS=${OPTFLAGS} \
sh configure --prefix=/usr \
             --program-prefix="" \
	     --program-suffix="" \
	     --target=$TARGET-slackware-linux
 
make -j3 || exit 1
make install DESTDIR=$PKG

mkdir -p -m 755 $PKG/usr/doc/$NAME-$VERSION

cp -a   COPYING \
        AUTHORS \
        ChangeLog \
        INSTALL \
        README \
	TODO \
	NEWS \
	THANKS \
	LICENSE \
$PKG/usr/doc/$NAME-$VERSION

cd $PKG

chmod 644 $PKG/usr/doc/$NAME-$VERSION/*

cp -a $CWD/slack-desc $CWD/$NAME.SlackBuild $PKG/usr/doc/$NAME-$VERSION

chown -R root.root .
chown -R root.bin usr/bin/

find . -exec file {} \; | grep "shared object" | cut -d : -f1 | xargs strip --strip-unneeded 2> /dev/null
find . -exec file {} \; | grep "executable" | cut -d : -f1 | xargs strip 2> /dev/null

gzip -9 $PKG/usr/man/*/*
gzip -9 $PKG/usr/info/*/*
rm -f $PKG/usr/info/dir

mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

echo -ne "\nmaking $NAME package.. "
cd $PKG
makepkg -c n -l y $CWD/$PACK &>/dev/null
echo "done"

[ "$1" = "--cleanup" ] && {
  echo -ne "cleaning up.. "
  rm -rf $TMP/$NAME-$VERSION
  rm -rf $PKG
  echo "done"
}

## EOF ##
Ultima modifica di inux il dom 3 feb 2008, 13:49, modificato 1 volta in totale.

Avatar utente
slucky
Iper Master
Iper Master
Messaggi: 2420
Iscritto il: mar 1 mag 2007, 15:30
Slackware: 15.0
Desktop: xfce4
Distribuzione: FreeBSD

Re: come costruire pacchetti con slackbuild?

Messaggio da slucky »

A parte poi il discorso di auto-costruirselo lo SlackBuild, che è sempre cosa buona e giusta :lol: puoi anche utilizzare come "base" gli SlackBuild della 12 o Current ( se usi la current) che trovi nella directory /source oppure online sul sito SlackBuilds.org ne trovi tantissimi altri, in genere ti basta modificare questo parametro:
VERSION=1.0.2
ARCH=${ARCH:-i486}
BUILD=1
ad es. stai lavorando sui sorgenti di k3b-1.0.4 allora cambi nome versione VERSION=1.0.4, personalizzi anche lo slack-desc, poi il resto già lo conosci ;)
Se usi quelli di Pat non puoi che andare sul sicuro, come si dice "simplicity is divine" :D


p.s: più slacker (pigro) di così non esiste! :lol:

Avatar utente
inux
Packager
Packager
Messaggi: 529
Iscritto il: sab 3 nov 2007, 11:36
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde
Località: busto arsizio (VA)

Re: come costruire pacchetti con slackbuild?

Messaggio da inux »

non è che non ho voglia di scriverlo ma non lo so scrivere o meglio non so da che parte cominciare almeno cosi inizio a vedere come funziona poi magari posso anche scrivermelo da solo ma devo prima capire dove mettere le mani e soprattutto cosa vogliono dire tutte le scritte.alla prima parte ci sono devi solo mettere la versione e altre cose abbastanza semplici è il resto che è ostrogoto.per imparare a farmelo da solo intendo una cosa fatta bene devo imparare il linguaggio di script?fatemi sapere qulcosa è molto importante ciao.

Rispondi