Tarball yerine kaynak dizini kullanarak RPM oluşturun


14

Kuruluşumda, tüm yazılımlarımızı RPM kullanarak üretim makinelerimize dağıtıyoruz. Yapım sürecimiz (otomatiktir), sürüm kontrolünden kaynağın kontrol edilmesini, bu kaynak dizinin yukarı doğru tarring edilmesini ve daha sonra bu kaynak tarball'ı kullanarak rpmbuild çalıştırılmasını içerir. rpmbuild bu tarball'ı sadece üzerinde çalışacak kaynakları açmak için kullanır. Yani, tüm taring ve untaring işi, inşa sürecinde gereksiz bir ekstra adım gibi görünüyor. Bu ekstra adımlardan kaçınarak yalnızca spec dosyasındaki kaynak dizini belirtmenin bir yolu var mı?

Yanıtlar:


5

Evet, yapabilirsin. Hiçbir Sources listeleme . Bölümde makroyu %prepkullanmayın %setup(kaynağın yıldızını kaldırır); bunun yerine, kaynağı kontrol edin.

Bunu yaparsanız SRPM'ler oluşturamayacağınızı unutmayın.


Bunu yapar. Sadece bunun yerine rpm BUILD dizinine bir şeyler kontrol etmek için inşa prosedürü değiştirmek gerekiyor. Teşekkürler!
Eddie

10

Bu soru biraz eski, ancak başkalarının aramada bulması durumunda, bunu yapmanın daha doğru bir yolu var ve bu da bir SRPM oluşturulmasına izin veriyor.

Hazırlık bölümünde, kurulum makrosunu kullanmak yerine, kendinize ne yapmak istediğinizi yazmanız gerekir; yani, bir dizini açmak yerine kaynak dizini KAYNAKLAR'dan YAPI'ya kopyalamanız gerekir. Sonra da kurmak ve yüklemek bölümlerinde kaynak dizininize bir cd eklemek zorunda bulundu.

Örnek pasaj

%prep
# Don't use the setup macro anymore, replace it with typed-out commands
#%setup -q -n myapp-%{version}
cd %{_topdir}/BUILD
rm -rf myapp-%{version}
cp -rf %{_topdir}/SOURCES/myapp-%{version} .
cd myapp-%{version}
/usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .

%patch1 -p1 -b .cert-config
%patch2

%build
cd myapp-%{version}

%install
cd myapp-%{version}

Meli %{_topdir}/SOURCESolmak %{_sourcedir}? Ve %{_topdir}/BUILDolabilir %{buildroot}mi? (Bir kenara, ayıklananları geçersiz kılmak için fazladan dosyalar eklemeye çalıştığınız benzer ancak farklı durumlar %setupiçin Fedora dokümanları %{SOURCE2}vb. Kullanılmasını önerir - fedoraproject.org/wiki/Packaging:RPM_Source_Dir )
IBBoard
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.