Автор Тема: как се прави Slackware tgz пакет ?  (Прочетена 5194 пъти)

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
как се прави Slackware tgz пакет ?
« Отговор #15 -: Jan 24, 2006, 00:57 »
Цитат (mironcho @ Фев. 10 2004,23:33)


За приложенията за които не действа, може да се ползва и:

make install DESTDIR=/some_path

срещал съм и ROOT да се използва вместо DESTDIR.

До момента съм срещал следните варианти на задаване на директория, където да се запишат данните:

Примерен код


 make install DESTDIR=/tmp/package
 make install prefix=/tmp/pacakge/usr
 make install PREFIX=/tmp/pacakge/usr
 make install ROOT=/tmp/pacakge
 make install install_root=/tmp/package
 make install INSTALL_ROOT=/tmp/package
 make install DSTROOT=/tmp/package
 make install buildroot=/tmp/package



А когато нито една от тези команди не работи... използвам checkinstall (после си правя пакета наново (на база съдържанието на пакета, създаден от checkinstall), но поне мога да почистя каквото се е получило при инсталацията).

Изпозвам следния примерен SlackBuild за създаване на пакети:
Примерен код

#!/bin/sh

# Внимание! Ползвайте този скрипт само, ако знаете какво правите.

# ***********************************************************************
# Да не се редактират:
TMP="/tmp/packagesbuild/"
CWD=`pwd`

# ***********************************************************************
# Променливи за редактиране:

# Името на пакета:
NAME=knemo
# Версия на архива с изходния код:
VERSION=0.3.1
VERSION_PKG=$VERSION
# Версия на кръпката, която ще се приложи върху изходния код:
VERSION_patch=

# Името на архива с изходния код:
NAME_src=${NAME}
#NAME_src=${NAME}-src

# Името на поддиректорията, която се получава при разархивиране:
NAME_extr_subdir=$NAME_src
#NAME_extr_subdir=${NAME}-src
#NAME_extr_subdir=някакво_съвсем_различно_име_на_директория

#Разширението на архива с изходния код:
EXT="tar.bz2"
#EXT="tar.gz"

ARCH=i486
BUILD=vs0

# Къде ще се инсталира:
#vslive_PREFIX="/usr" # програмата не е от КДЕ
vslive_PREFIX=`/opt/kde/bin/kde-config --prefix`  # програмата е от КДЕ

# Пътят на директорията, която се получава при разархивиране:
TMP_extr_dir=$TMP/$NAME_extr_subdir-$VERSION
#TMP_extr_dir=$TMP/$NAME_extr_subdir-$VERSION.orig

# Пътят на файла с изходния код (в някои случаи името съдържа .orig след версията)
FILE_src=$CWD/${NAME_src}-${VERSION}.${EXT}
#FILE_src=$CWD/${NAME_src}-${VERSION}.orig.${EXT}
#FILE_src=$CWD/${NAME_src}_${VERSION}.orig.${EXT}

# Временната директория, където ще се инсталира програмата:
PKG=$TMP/package-$NAME

if [ "$VERSION_patch" = "" ]; then
PKG_filename=$NAME-$VERSION_PKG-$ARCH-$BUILD.tgz
docs_dir=$PKG/usr/doc/$NAME-$VERSION
else
#PKG_filename=$NAME-${VERSION}.${VERSION_patch}-$ARCH-$BUILD.tgz
#docs_dir=$PKG/usr/doc/$NAME-$VERSION.${VERSION_patch}
PKG_filename=$NAME-${VERSION_PKG}.${VERSION_patch}-$ARCH-$BUILD.tgz
docs_dir=$PKG/usr/doc/$NAME-$VERSION_PKG.${VERSION_patch}
fi

# ***********************************************************************
# Подпрограми:

print_msg(){
echo "|*****************************************************************"
echo "| $1"
echo "|*****************************************************************"
}

# ***********************************************************************
if [ ! -d $TMP ]; then
  mkdir -p $TMP
fi
if [ ! -d $PKG ]; then
  mkdir -p $PKG
fi

print_msg "Започна създаването на пакета $NAME-$VERSION-$ARCH-$BUILD.tgz"

cd $TMP

   if [ ! "$?" = "0" ]; then
    print_msg "Грешка при влизане в директорията $TMP."
    exit 1
   fi

#tar xzvf $CWD/$NAME-$VERSION.tar.gz
#tar xzvf $CWD/$NAME-src-$VERSION.tar.gz
#tar xjvf $CWD/$NAME-$VERSION.tar.bz2

print_msg "Разархивиране..."

if [ "$EXT" = "tar.bz2" ]; then
  tar xjvf $FILE_src
   if [ ! "$?" = "0" ]; then
    print_msg "Грешка при разархивиране на архива $FILE_src."
    exit 1
   fi
elif [ "$EXT" = "tar.gz" ]; then
  tar xzvf $FILE_src
   if [ ! "$?" = "0" ]; then
    print_msg "Грешка при разархивиране на архива $FILE_src."
    exit 1
   fi
 else
  print_msg "Грешка: Неизвестен архив."
  exit 1
fi

cd $TMP_extr_dir

if [ "$VERSION_patch" != "" ]; then
  print_msg "Закърпване..."
  gzip -cd $CWD/${NAME_src}_${VERSION}-${VERSION_patch}.diff.gz | patch -p1
   if [ ! "$?" = "0" ]; then
    print_msg "Грешка при прилагане на кръпката."
    exit 1
   fi
fi

print_msg "Изпълнение на ./configure..."


CFLAGS="-O2 -march=i486 -mcpu=i686" ./configure --prefix="$vslive_PREFIX"

#CFLAGS="-O2 -march=i486 -mcpu=i686" ./configure --prefix=/usr \
#   --localstatedir=/var/lib \
#   $ARCH-slackware-linux

   if [ ! "$?" = "0" ]; then
    print_msg "Грешка."
    exit 1
   fi


print_msg "Изпълнение на make..."

make

   if [ ! "$?" = "0" ]; then
    print_msg "Грешка."
    exit 1
   fi

print_msg "Изпълнение на make install"

# Внимание: ЗА ВСЕКИ ПАКЕТ ТРЯБВА ДА СЕ ПРОВЕРЯВА КОЙ ОТ ДОЛУПОСОЧЕНИТЕ
#           МЕТОДИ РАБОТИ!!! Обикновено първият метод дава резултат, когато
#           вторият не действа.

#make install prefix=$PKG/usr
make install DESTDIR=$PKG
#make install PREFIX=$PKG/usr
#make install ROOT=$PKG
#make install install_root=$PKG
#make install INSTALL_ROOT=$PKG
#make install DSTROOT=$PKG
#make install buildroot=$PKG

# Внимание: Понякога инсталирането във временна директория чрез `make install`
#           е невъзможно! В такъв случай може да се ползва програмата
#           checkinstall. Тази програма следи кои файлове се инсталират от
#           `make install` и прави пакет от тях.

# checkinstall

   if [ ! "$?" = "0" ]; then
    print_msg "Грешка."
    exit 1
   fi


print_msg "Допълнителни неща..."


# Ако се инсталира ненужно голяма документация понякога е добра идея да се
# изтрият някои неща:
#rm -rf $PKG/usr/share/doc/
#rmdir $PKG/usr/share

# включване на кратка документация (лиценза, README-то и др.)
mkdir -p $docs_dir
cp Cop* ANNOUNCE* HACKING* *MAINTAINERS* DEV* FAQ* THANKS* ABOUT-NLS* AUTHORS* VERS* UPGRADE* \
   KNOWNBUGS* PERMISSIONS* \
   BUGS* USING* ChangeLog* CHANGELOG* COPYING* INSTALL* README* TODO* LICENSE* CREDIT* \
   $docs_dir

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

( 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
)

#gzip `find $PKG/usr/man/ -type f 2>/dev/null | grep -v ".gz$"`
# Горния ред, но написан по-красиво:
find $PKG/usr/man/ -type f ! -name '*.gz' -exec gzip {} \;

mv $PKG/usr/info/dir $PKG/usr/info/dir-$NAME

cd $PKG

# Примерно включване на икона в /usr/share/pixmaps:
#mkdir -p $PKG/usr/share/pixmaps
#cp $CWD/*.png $PKG/usr/share/pixmaps/

# Примерно включване на елемент от менюто на КДЕ:
#mkdir -p $PKG/opt/kde/share/applnk/Multimedia/
#cp $CWD/*.desktop $PKG/opt/kde/share/applnk/Multimedia/

# Примерно включване на елемент от меню:
#mkdir -p $PKG/usr/share/applications
#cp $CWD/*.desktop $PKG/usr/share/applications/

# Примерно копиране на превод (КДЕ):
#mkdir -p $PKG/opt/kde/share/locale/bg/LC_MESSAGES/
#cp $CWD/*.mo $PKG/opt/kde/share/locale/bg/LC_MESSAGES/

# Примерно копиране на превод (QT):
#mkdir -p $PKG/usr/share/$NAME/locale/
#cp $CWD/*.ts $PKG/usr/share/$NAME/locale/

# Примерно копиране на превод:
#mkdir -p $PKG/usr/share/locale/bg/LC_MESSAGES/
#cp $CWD/*.mo $PKG/usr/share/locale/bg/LC_MESSAGES/

mkdir -p $PKG/install
cp $CWD/doinst.sh $PKG/install
chmod 644 $PKG/install/doinst.sh

chown -R root.root $PKG/usr
chown -R root.root $PKG/opt
#chown -R root.root $PKG/usr/man
#chown -R root.root $PKG/usr/share

chown root.bin $PKG/bin/*
chown root.bin $PKG/sbin/*
chown root.bin $PKG/usr/bin/*
chown root.bin $PKG/usr/sbin/*

chmod 755 $PKG/bin
chmod 755 $PKG/sbin
chmod 755 $PKG/lib

chmod -R 644 $docs_dir/*

#chmod 755 `find $PKG/usr -type d 2>/dev/null`
# Горния ред, но написан по-красиво:
find $PKG/usr -type d -exec chmod 755 {} \;

#chown -R root.root $docs_dir
#chmod 755 `find $PKG/usr/doc/ -type d 2>/dev/null`

makepkg -l y -c n $TMP/$PKG_filename

   if [ ! "$?" = "0" ]; then
    print_msg "Грешка при изпълнение на програмата makepkg."
    exit 1
   fi

if [ "$1" = "--cleanup" ]; then
  rm -rf $TMP_extr_dir
  rm -rf $PKG
fi
Активен

KoIoSoS

  • Напреднали
  • *****
  • Публикации: 107
  • Distribution: Slackware
  • Window Manager: Xfce4.8
    • Профил
как се прави Slackware tgz пакет ?
« Отговор #16 -: Jan 24, 2006, 20:38 »
Нещо, което в някои отношения е по добро
Примерен код

#!/bin/sh

#ТОЗИ СКРИПТ НЯМА ДА РАБОТИ С СОРС КАТО, pgcalc2-2.1-3.tar.gz или pgcalc2-2.1-3.tar.bz2      10%
#
#РЕШЕНИЕ
#tar -xjvpf pgcalc2-2.1-3.tar.bz2
#mv pgcalc2-2.1-3 pgcalc2-2.1.3
#tar -cjvpf pgcalc2-2.1.3.tar.bz2 pgcalc2-2.1.3
#rm -rf pgcalc2-2.1-3.tar.bz2
####################################################################
#ТОЗИ СКРИПТ ЩЕ РАБОТИ С СОРС КАТО, pgcalc2-2.1.3.tar.gz или pgcalc2-2.1.3.tar.bz2                 90%
####################################################################
#проверка за INSTALL
CWD=`pwd`
BUILD=1
if [ -d $CWD/INSTALL ]
 then
 cd $CWD/INSTALL
if [ -e *.tgz ]
then
      PREDHODNA_VERSIA=`ls *.tgz | cut -f 5 -d "-" | cut -f 1 -d"."`;
      let BUILD=$PREDHODNA_VERSIA+1;
else
BUILD=1
fi
fi
cd $CWD
#край на проверка за INSTALL
####################################################################
#проверка за COMPILE_FLAGS
 if [ -e /COMPILE_FLAGS ]
then
   echo "Пакетът ще се компилира със следните флагове за GCC";cat /COMPILE_FLAGS;
   ARCH=`cat /COMPILE_FLAGS | cut -f3 -d "=" | cut -f 1 -d ":"`
####################################################################
#проверка се налага заради тирето
####################################################################
if [  "$ARCH" = "athlon-xp" ]
then
  ARCH="athlonxp"
fi
####################################################################
#край на проверка  заради тирето
####################################################################
else
    echo "Нямаме флагове за оптимизация на  компилацията!!!Вижте редове 95 96 97 на този скрипт. ";
    echo "Да продължим ли? y = да";
    read PRODULVENIE;
if [  "$PRODULVENIE" = "y" ]
 then echo "Добре ";
 else echo  "Не е Добре! Не натиснахте  y ."; exit;
fi
   ARCH="neoptimiziran"
fi
#край на проверка за COMPILE_FLAGS
####################################################################
#проверка за DISTCC
 if [ -e /usr/bin/distcc ]
then
   CC_COMPILATOR="distcc";CXX_COMPILATOR="distcc"; NUMARABOTI=6
else
 CC_COMPILATOR="gcc";CXX_COMPILATOR="g++"; NUMARABOTI=1
fi
echo $CC_COMPILATOR $CXX_COMPILATOR

#край  на проверка за DISTCC
####################################################################
#мързеливо откриваме sorce файла и как да се разкомпресира

SOURCE_FILE=`ls *tar*`
case $SOURCE_FILE  in
          *[2])
          tarcom="xjvf";razsh="bz2";PROGRAM_VERSION=`echo $SOURCE_FILE | sed 's/.tar.bz2//g' `
          ;;
          *[z])
            tarcom="xzvf";razsh="gz";PROGRAM_VERSION=`echo $SOURCE_FILE | sed 's/.tar.gz//g' `
          ;;
esac
#карй на мързела

BROI_ZNACI_IMETO_PYRVA_CIFRA_NA_VERSIQTA=`echo $SOURCE_FILE | cut -f1 -d"." | wc -m`
####################################################################
#версията на пакета  $VERSION и $PROGRAM
PROGRAM=`echo $SOURCE_FILE | cut -c 1-$(($BROI_ZNACI_IMETO_PYRVA_CIFRA_NA_VERSIQTA-3))`
VERSION=`echo $PROGRAM_VERSION | sed 's/'$PROGRAM'//g' |cut -f2 -d "-"`
#карй на  версията на пакета  $VERSION  и $PROGRAM
####################################################################

TMP=$CWD/tmp
PKG=$TMP/package-$PROGRAM
#директория в която получаваме пакета
INSTALL=$CWD/INSTALL
rm -rf $TMP $PKG $INSTALL
mkdir -p $TMP $PKG $INSTALL
####################################################################
#найсе солушън да имаме CONFIGURE_OPTIONS за всеки случай
 if [ ! -e $CWD/CONFIGURE_OPTIONS ]
then
tar $tarcom $CWD/$PROGRAM-$VERSION.tar.$razsh
cd $PROGRAM-$VERSION
./configure --help  >> ../CONFIGURE_OPTIONS
cd $CWD
rm -rf $CWD/$PROGRAM-$VERSION
fi
#край на найсе солушън да имаме CONFIGURE_OPTIONS за всеки случай
####################################################################
#в / създаваме файл COMPILE_FLAGS със съдържание.
# -O2 -march=?  -mtune=?: za    GCC-3.4.         или         -O2 -march=? -mcpu=?: za   GCC-3.3.*
#?=i486 ,i386 ,i286,i186,i86,85.84..................;)

SLKCFLAGS=`cat /COMPILE_FLAGS | cut -f1 -d ":"`

cd $TMP
tar $tarcom $CWD/$PROGRAM-$VERSION.tar.$razsh
cd $PROGRAM-$VERSION
chown -R root.root .

CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" \
 ./configure \
  --prefix=/usr \
  --sysconfdir=/etc \
  --mandir=/usr/man \
  --infodir=/usr/info \
  --localstatedir=/var/lib

make CC=$CC_COMPILATOR  CXX=$CXX_COMPILATOR  -j$NUMARABOTI
#make install PREFIX=$PKG
#make install ROOT=$PKG
#make install INSTALL_ROOT=$PKG
#make install DSTROOT=$PKG
make install DESTDIR=$PKG

chown -R root.bin $PKG/usr/bin
gzip -9 $PKG/usr/man/man?/*.?
( 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
)
cd $PKG
makepkg -l y -c n $INSTALL/$PROGRAM-$VERSION-$ARCH-$BUILD.tgz
#почистваме
rm -rf $TMP

 ':ok:'
Активен

it is better to solve the right problem the wrong way than the wrong problem the right way   -- Doug McIlroy
Slackware Propaganda
http://video.google.com/videoplay?docid=-5210026640879077823

FuckMyFucker

  • Напреднали
  • *****
  • Публикации: 92
    • Профил
как се прави Slackware tgz пакет ?
« Отговор #17 -: Jan 25, 2006, 14:09 »
А как мога да сложа инфо на пакета?
Активен

KoIoSoS

  • Напреднали
  • *****
  • Публикации: 107
  • Distribution: Slackware
  • Window Manager: Xfce4.8
    • Профил
как се прави Slackware tgz пакет ?
« Отговор #18 -: Jan 25, 2006, 20:36 »
Така е по-добре.С инфо ,ако съм разбрал.
Примерен код

#!/bin/sh

#ТОЗИ СКРИПТ НЯМА ДА РАБОТИ С СОРС КАТО, pgcalc2-2.1-3.tar.gz или pgcalc2-2.1-3.tar.bz2      10%
#
#РЕШЕНИЕ
#tar -xjvpf pgcalc2-2.1-3.tar.bz2
#mv pgcalc2-2.1-3 pgcalc2-2.1.3
#tar -cjvpf pgcalc2-2.1.3.tar.bz2 pgcalc2-2.1.3
#rm -rf pgcalc2-2.1-3.tar.bz2
####################################################################
#ТОЗИ СКРИПТ ЩЕ РАБОТИ С СОРС КАТО, pgcalc2-2.1.3.tar.gz или pgcalc2-2.1.3.tar.bz2                 90%
####################################################################

#проверка за INSTALL
CWD=`pwd`
BUILD=1
if [ -d $CWD/INSTALL ]
then
cd $CWD/INSTALL
if [ -e *.tgz ]
then
     PREDHODNA_VERSIA=`ls *.tgz | cut -f 5 -d "-" | cut -f 1 -d"."`;
     let BUILD=$PREDHODNA_VERSIA+1;
else
BUILD=1
fi
fi
cd $CWD
#край на проверка за INSTALL
####################################################################
#проверка за COMPILE_FLAGS
if [ -e /COMPILE_FLAGS ]
then
  echo "Пакетът ще се компилира със следните флагове за GCC";cat /COMPILE_FLAGS;
  ARCH=`cat /COMPILE_FLAGS | cut -f3 -d "=" | cut -f 1 -d ":"`
####################################################################
#проверка се налага заради тирето
####################################################################
if [  "$ARCH" = "athlon-xp" ]
then
 ARCH="athlonxp"
fi
####################################################################
#край на проверка  заради тирето
####################################################################
else
   echo "Нямаме флагове за оптимизация на  компилацията!!!Вижте редове 139 140 141 на този скрипт. ";
   echo "Да продължим ли? y = да";
   read PRODULVENIE;
if [  "$PRODULVENIE" = "y" ]
then echo "Добре ";
else echo  "Не е Добре! Не натиснахте  y ."; exit;
fi
  ARCH="neoptimiziran"
fi
#край на проверка за COMPILE_FLAGS
####################################################################
#проверка за DISTCC
if [ -e /usr/bin/distcc ]
then
  CC_COMPILATOR="distcc";CXX_COMPILATOR="distcc"; NUMARABOTI=6
else
CC_COMPILATOR="gcc";CXX_COMPILATOR="g++"; NUMARABOTI=1
fi
echo $CC_COMPILATOR $CXX_COMPILATOR

#край  на проверка за DISTCC
####################################################################
#мързеливо откриваме sorce файла и как да се разкомпресира

SOURCE_FILE=`ls *tar*`
case $SOURCE_FILE  in
         *[2])
         tarcom="xjvf";razsh="bz2";PROGRAM_VERSION=`echo $SOURCE_FILE | sed 's/.tar.bz2//g' `
        ;;
         *[z])
           tarcom="xzvf";razsh="gz";PROGRAM_VERSION=`echo $SOURCE_FILE | sed 's/.tar.gz//g' `
        ;;
esac
#карй на мързела
####################################################################
BROI_ZNACI_IMETO_PYRVA_CIFRA_NA_VERSIQTA=`echo $SOURCE_FILE | cut -f1 -d"." | wc -m`
KOLKO_SA_CIFRITE_SLED=`echo $SOURCE_FILE | cut -f1 -d"."|cut  -f2 -d"-" | wc -m`
####################################################################
#версията на пакета  $VERSION и $PROGRAM
PROGRAM=`echo $SOURCE_FILE | cut -c 1-$(($BROI_ZNACI_IMETO_PYRVA_CIFRA_NA_VERSIQTA-$KOLKO_SA_CIFRITE_SLED-1))`
VERSION=`echo $PROGRAM_VERSION | sed 's/'$PROGRAM'//g' |cut -f2 -d "-"`
#карй на  версията на пакета  $VERSION  и $PROGRAM
####################################################################

TMP=$CWD/tmp
PKG=$TMP/package-$PROGRAM
#директория в която получаваме пакета
INSTALL=$CWD/INSTALL
rm -rf $TMP $PKG $INSTALL slack-desc
mkdir -p $TMP $PKG $INSTALL
####################################################################
#Добавяне на инфо
#mumboto е от уважение!
#файл pkginfo в curent dir.ОПИСАНИЕ на ПАКЕТА.Четем info до 11 ред.
####################################################################
if [  -e $CWD/pkginfo ]
then
echo "# 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 ':'.
   |-----handy-ruler------------------------------------------------------|" >$CWD/slack-desc

i=1;
BROI_LINE_pkginfo=`wc -l $CWD/pkginfo | cut -f1 -d" "`;
while [ $i -le 11 ]
do
LINIQ=`head -n $i $CWD/pkginfo| tail -n 1`;
if [ $i -le $BROI_LINE_pkginfo ]
then
echo "$PROGRAM: " $LINIQ >>$CWD/slack-desc
else
echo "$PROGRAM: " >>$CWD/slack-desc
fi
 i=$(( $i+1));
done;
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
else echo "NO PACKAGE DESCRIPTION!!!Вижте ред 100  на този скрипт."
   echo "Да продължим ли? y = да";
   read PRODULVENIE;
if [  "$PRODULVENIE" = "y" ]
then echo "Добре ";
else echo  " РЕД 118"; exit;
fi
fi
####################################################################
#край на Добавяне на инфо
####################################################################
#в / създаваме файл COMPILE_FLAGS със съдържание.
# -O2 -march=?  -mtune=?: za    GCC-3.4.         или         -O2 -march=? -mcpu=?: za   GCC-3.3.*
#?=i486 ,i386 ,i286,i186,i86,85.84..................;)

SLKCFLAGS=`cat /COMPILE_FLAGS | cut -f1 -d ":"`

cd $TMP
tar $tarcom $CWD/$PROGRAM-$VERSION.tar.$razsh
cd $PROGRAM-$VERSION
#####################################
#найсе солушън да имаме CONFIGURE_OPTIONS за всеки случай
#####################################
if [ ! -e $CWD/CONFIGURE_OPTIONS ]
then
./configure --help  >> ../CONFIGURE_OPTIONS
fi
#####################################
#край на найсе солушън да имаме CONFIGURE_OPTIONS за всеки случай
#####################################
chown -R root.root .

CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" \
./configure \
 --prefix=/usr \
 --sysconfdir=/etc \
 --mandir=/usr/man \
 --infodir=/usr/info \
 --localstatedir=/var/lib

make CC=$CC_COMPILATOR  CXX=$CXX_COMPILATOR  -j$NUMARABOTI
#make install PREFIX=$PKG
#make install ROOT=$PKG
#make install INSTALL_ROOT=$PKG
#make install DSTROOT=$PKG
make install DESTDIR=$PKG

chown -R root.bin $PKG/usr/bin
gzip -9 $PKG/usr/man/man?/*.?
( 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
)
cd $PKG
makepkg -l y -c n $INSTALL/$PROGRAM-$VERSION-$ARCH-$BUILD.tgz
#почистваме
rm -rf $TMP

 ':ok:'
Активен

it is better to solve the right problem the wrong way than the wrong problem the right way   -- Doug McIlroy
Slackware Propaganda
http://video.google.com/videoplay?docid=-5210026640879077823

KoIoSoS

  • Напреднали
  • *****
  • Публикации: 107
  • Distribution: Slackware
  • Window Manager: Xfce4.8
    • Профил
как се прави Slackware tgz пакет ?
« Отговор #19 -: Jan 26, 2006, 11:46 »
грешка в скрипта Публикуван на Ян. 25 2006,21:36
ред 152
подмени с
Примерен код

./configure --help  >> ../../CONFIGURE_OPTIONS

 ':ok:'
Активен

it is better to solve the right problem the wrong way than the wrong problem the right way   -- Doug McIlroy
Slackware Propaganda
http://video.google.com/videoplay?docid=-5210026640879077823

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
как се прави Slackware tgz пакет ?
« Отговор #20 -: May 07, 2006, 15:34 »
Новата версия на GCC започна да се оплаква:

Примерен код

`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead


Използвам CFLAGS="-O2 -march=i486 -mcpu=i686" (както е в Slackware).
Активен

karaman

  • Напреднали
  • *****
  • Публикации: 351
    • Профил
    • WWW
как се прави Slackware tgz пакет ?
« Отговор #21 -: May 07, 2006, 16:17 »
-mtune == -mcpu

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
как се прави Slackware tgz пакет ?
« Отговор #22 -: May 09, 2006, 00:09 »
Намерих тази информация в man:gcc (загрях лентата за превъртане докато намеря тази информация...):

Цитат

-mtune=cpu-type
 Tune to cpu-type everything applicable about the generated code, except for the ABI and the set of available instructions. The choices for cpu-type are:
i386
 Original Intel's i386 CPU.
i486
 Intel's i486 CPU. (No scheduling is implemented for this chip.)
i586, pentium
 Intel Pentium CPU with no MMX support.
pentium-mmx
 Intel PentiumMMX CPU based on Pentium core with MMX instruction set support.
i686, pentiumpro
 Intel PentiumPro CPU.
pentium2
 Intel Pentium2 CPU based on PentiumPro core with MMX instruction set support.
pentium3, pentium3m
 Intel Pentium3 CPU based on PentiumPro core with MMX and SSE instruction set support.
pentium-m
 Low power version of Intel Pentium3 CPU with MMX, SSE and SSE2 instruction set support. Used by Centrino notebooks.
pentium4, pentium4m
 Intel Pentium4 CPU with MMX, SSE and SSE2 instruction set support.
prescott
 Improved version of Intel Pentium4 CPU with MMX, SSE, SSE2 and SSE3 instruction set support.
nocona
 Improved version of Intel Pentium4 CPU with 64-bit extensions, MMX, SSE, SSE2 and SSE3 instruction set support.
k6
AMD K6 CPU with MMX instruction set support.
k6-2, k6-3
 Improved versions of AMD K6 CPU with MMX and 3dNOW! instruction set support.
athlon, athlon-tbird
AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and SSE prefetch instructions support.
athlon-4, athlon-xp, athlon-mp
 Improved AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and full SSE instruction set support.
k8, opteron, athlon64, athlon-fx
AMD K8 core based CPUs with x86-64 instruction set support. (This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and 64-bit instruction set extensions.)
winchip-c6
IDT Winchip C6 CPU, dealt in same way as i486 with additional MMX instruction set support.
winchip2
IDT Winchip2 CPU, dealt in same way as i486 with additional MMX and 3dNOW! instruction set support.
c3
 Via C3 CPU with MMX and 3dNOW! instruction set support. (No scheduling is implemented for this chip.)
c3-2
 Via C3-2 CPU with MMX and SSE instruction set support. (No scheduling is implemented for this chip.)


 While picking a specific cpu-type will schedule things appropriately for that particular chip, the compiler will not generate any code that does not run on the i386 without the -march=cpu-type option being used.
-march=cpu-type
 Generate instructions for the machine type cpu-type. The choices for cpu-type are the same as for -mtune. Moreover, specifying -march=cpu-type implies -mtune=cpu-type.
-mcpu=cpu-type
 A deprecated synonym for -mtune.





Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Slackware QT проблем
Настройка на програми
kikcho 1 4508 Последна публикация Nov 11, 2002, 08:48
от mrvoland
Обновяване към Slackware 9.0
Хардуерни и софтуерни проблеми
FreeJak 3 4651 Последна публикация Mar 25, 2003, 00:53
от FreeJak
Slackware
Настройка на програми
ivo3d 1 3755 Последна публикация Mar 27, 2003, 23:53
от ivo3d
Slackware 9.0
Хардуерни и софтуерни проблеми
ivo3d 3 4099 Последна публикация Apr 07, 2003, 03:48
от ivo3d
Slackware 8.1
Настройка на програми
rip_darkman 1 3737 Последна публикация Aug 21, 2003, 08:59
от dafo