BASH Programming - Введение

       

Раздел Prep


Это второй раздел в spec-файле. Он используется чтобы сделать исходные тексты готовыми к построению. Здесь вам необходимо сделать все что угодно чтобы сделать исправления в исходных текстах и сделать настройку подобную той, которую необходимо сделать чтобы выполнить make.

Одно замечание: Каждый из этих разделов в действительности просто место для выполнения скриптов оболочки. Вы должны просто сделать sh-скрипт и поместить его после тага %prep

для распаковки и исправления ваших исходных текстов. Однако мы добавили макросы чтобы помочь вам сделать это.

Первый из этих макросов это макрос %setup. В своей простейшей форме (без командной строки), он просто распаковывает исходные тексты и делает cd в директорию исходных текстов. Он также принимает следующие опции:

  • -n name установит имя директории где будет производиться построение пакета в name. Значение по умолчанию равно $NAME-$VERSION. Другие возможные значения включают $NAME, ${NAME}${VERSION}, или что использует главный файл архива. (Заметим, что эти переменные с ``$'' не являются настоящими переменными доступными внутри spec-файла. Они просто используются здесь вместо имен примеров. Вам необходимо использовать настоящие имена и версии в вашем пакете, а не эти переменные).
  • -c создаст указанную директорию до выполнения распаковки архивов.
  • -b # будет выполнять распаковку Source# до

    выполнения cd в директорию (и это делает нечувствительной к опции -c так что не делайте ее). Это полезно только в случае множества файлов исходных текстов.

  • -a # будет выполнять распаковку Source# после перехода в директорию.
  • -T Эта опция отменяет действия по умолчанию при распаковке исходных текстов и требует опций -b 0 или -a 0

    чтобы произвести разархивацию главного файла исходных текстов. Вам нужно это в случае наличия дополнительных файлов исходных текстов.

  • -D Не удалять директорию до распаковки. Это полезно только когда вы имеете больше одного макроса setup. Эта опция должна использоваться только в макросах setup после

    первого (но никогда не быть в первом макросе).


  • Следующий из имеющихся макросов это макрос %patch. Этот макрос помогает автоматизировать процесс наложения заплаток на исходные тексты. Макрос имеет несколько опций, перечисленных ниже:

  • # будет прикладывать Patch# как файл заплатки.


  • -p # указывает количество отбрасываемых директорий для команды patch(1).


  • -P Действие по умолчанию-- наложение Patch (или Patch0). Этот флаг запрещает действие по умолчанию и будет требовать 0 чтобы распаковать главный файл с исходными текстами. Эта опция полезна во второй (и последующих) макросах %patch, которые требуют номера отличного от номера в первом макросе.


  • Вы также можете выполнять %patch# вместо выполнения команды: %patch # -P

    Это все макросы которые вам необходимы. После того как вы все сделаете правильно, вы также можете сделать любую другую настройку, которая необходима, используя скрипты на sh. Все что вы включите до макроса %build (обсуждаемого в следующем разделе) выполняется через sh. Посмотрите в вышеприведенном разделе для того чтобы увидеть какие вещи вы можете сделать если захотите.


    Содержание раздела