nixp.ru v3.0

6 февраля 2025,
четверг,
00:54:12 MSK

el написал 7 ноября 2004 года в 10:34 (839 просмотров) Ведет себя неопределенно; открыл 5 тем в форуме, оставил 32 комментария на сайте.

Если есть опыт сборки пакетов Slackware (тех, что поставляются вместе с дистром) из исходников, поделитесь. Интересует также любая информация и ссылки по этому вопросу.

Из того, что я понял, для сборки используется скрипт, например, для kde, KDE.SlackBuild, который в свою очередь вызывает на выполнение скрипты конктретных пакетов кде (или чего нибудь другого в зависимости от выбранного пакета). Конфигурационная информация берется (например, для кде) из скрипта KDE.options, имеющего такой вид:

# Set default version/arch/build. You can override these settings

# in the SlackBuild scripts for each package (koffice, for example,

# usually has a different version number), or by setting your own

# environment variables.

if [ -z $VERSION ]; then

export VERSION=3.3.1

fi

if [ -z $ARCH ]; then

export ARCH=i486

fi

if [ -z $BUILD ]; then

export BUILD=1

fi

# Target arch (this should be set to i486 for any 32-bit x86, unless

# you want problems finding your compiler…):

if [ -z $TARGET ]; then

export TARGET=i486

fi

# Use this as CFLAGS and CXXFLAGS:

if [ -z "$CPUOPT" ]; then

if [ "$ARCH" = "i386" ]; then

export CPUOPT="-O2 -march=i386 -mcpu=i686»

elif [ "$ARCH" = "i486" ]; then

export CPUOPT="-O2 -march=i486 -mcpu=i686»

elif [ "$ARCH" = "s390" ]; then

export CPUOPT=«-O2»

elif [ "$ARCH" = "x86_64" ]; then

export CPUOPT=«-O2»

fi

fi

# Number of jobs to compile at once:

if [ -z "$NUMJOBS" ]; then

export NUMJOBS=-j6

fi

Хотелось бы узнать назначение и правильный формат экспортируемых переменных ARCH и CPUOPT, и какое значение они должны иметь, например, для Athlon XP.

Интересен также порядок сборки пакетов (если он имеет значение) и вся методика, т.есть можно ли собрать пакеты, например, для Athlon XP и P3 в отдельные каталоги и потом заменить на нужных машинах ?

Какие пакеты в основном влияют на быстродествие всей системы (наверное это разделяемые библиотеки или еще что нибудь). Понятно, что однозначно ответить на этот вопрос невозможно, будет зависеть от того, какой софт используется…