Магија РПМ-а је у томе сва упутства за израду пакета укључена су у једну СПЕЦ датотеку. Наравно, прво то морате разумети, а понекад то није лако ... |
Шта је СПЕЦ датотека?
У основи је датотека та која указује на начин израде, инсталирања и деинсталације пакета.
Упутства која ћемо вам дати подељена су у фазе, које су пак макронаредбе. Ово су основне фазе које постоје:
- % припрема: Извори се распакују и примењују се закрпе.
- % буилд: Бинарне датотеке су састављене.
- % проверавати: Потврђено је да је правилно састављен.
- % инсталирај: Извршена је инсталациона бушилица.
- % фајлови: Наведите све датотеке које ће се појавити у пакету. Такође се често користи за додељивање атрибута. Ако постоји нека датотека која није на списку, неће бити изграђена.
Неки СПЕЦ можда неће имати неке од фаза. Они нису обавезни.
Постоје и друге фазе које се називају скрипте. они су посебни јер се не извршавају када је пакет изграђен, већ када је инсталиран или деинсталиран. Можете чак заказати покретање окидача када се инсталира други пакет. Ово је једна од великих предности коју РПМ има у односу на ДЕБ датотеке.
То је велика збрка са РПМ-овима има исту синтаксу за све. Односно, свим овим посебним речима претходи знак процента (%) су РПМ макрои, али постоје макрои свих врста:
- Функције (% подешавања,% конфигурисања,% закрпа ...)
- Унапред дефинисане променљиве (% _биндир,% дист ...)
- Променљиве дефинисане у самом СПЕЦ-у (% буилдроот,% наме,% версион ...)
- Статички одељци (% опис,% евиденција промена ...)
- Фазе (% израде,% инсталације ...)
- Окидачи (% окидача,% окидача ...)
- Скрипте (% претранс,% постун ...)
Једини начин је да се зна како се користи одређени макро прегледати документацију. Па заправо увек можете да користите друге трикове попут погледајте како је СПЕЦ направљен од пакета сличног вашем, или методом покушаја и грешака. Пар практичне команде:
рпмбуилд --сховрц # Прикажи све своје макронаредбе
рпмбуилд --евал = "% мацро_наме" # Прикажи проширени макро
Макрои су исти ако имају заграду око себе. Ако иза заграде стоји знак питања, биће празан ако нема шта да се прошири. На пример, 1% {? Дист} прошириће се на 1.фц16 на Федори 16, али на другом дистро-у ће остати као 1.
Подизање апетита
Већ смо на другом делу овог упутства, а ви још увек не знате шта ћемо спаковати, па ево видеозаписа да отворите уста: