2011-06-08 13 views
16

_topdir adlı bir değişkene dayanan bir .spec dosyam var.RPM oluştururken, .spec dosyasının konumuna göre _topdir öğesini nasıl yaparsınız?

Şu anda SRPM kaynağını gitmeden çıkış yaptığınızda, _topdir'un düzgün çalışabilmesi için _topdir işaretini değiştirerek gitmeniz gerekir.

# We need the following line so that RPM can find the BUILD and SOURCES and RPMS dirs. 
%define _topdir /root/projects/my-project/my-project-srpm/ 

nasıl zor kodlanmış değildir _topdir böylece _topdir.spec dosyasının konumuna göre olması gerektiğini belirtirim? neden olmasın

%_topdir  %(echo $PWD)/subdir 

Eğer Spec dosyasının kendisini içine yapabilirsiniz eğer emin değilim, ben görmüyorum ama ben: senin ~/.rpmmacros dosyasında

+0

korkunç spec dosyası. Yeni başlayanlar için, sorun isteyen kök tarafından inşa edilmiş gibi görünüyor. Projenin yapısı nasıl görünüyor? Daha da iyisi, bu bir kamu git repo mu yani? – linuts

+0

bu satırın gitip nereye gittiğimi gösterecek şekilde düzenlenmesi gerekiyor, her defasında ben kontrol edildikten sonra bu satırı düzenlemek zorunda kalmama neden oluyorsunuz –

+0

Projenin yapısı nasıl görünüyor? – linuts

cevap

-3

Bunu yapmak notify nasıl emin olun. Bir benziyor Sen (üstündeki mesela) spec dosyasında _topdir değişken tanımlayabilirsiniz

rpmbuild --define "_topdir \`pwd\`" ... 
+0

Bu cevap sadece ben kodu kontrol nerede bağlı olarak düzenlemek için hangi dosyayı taşır. Farklı bir yere işaret edecek bir dosyayı düzenlemek zorunda kalmak istemediğim kaynak rpm'yi –

18

...

%define _topdir %(echo $PWD)/ 
+0

olarak belirledim - nerede -define argümanı belirtildi? Adam sayfalarında bulamadım ya da sadece googling. – caspian311

+0

@ caspian311 hmm. '-define' seçeneği kaldırılmış gibi görünüyor. Belki bunun yerine '--root' kullanabilir. Http://www.rpm.org/max-rpm-snapshot/rpmbuild.8.html –

+1

'a bir göz atın - define hala çalışır, ancak man sayfadaki değil –

10

şöyle komut satırında sizin topdir belirtmek

+1

'pwd' kullanan cevapları tatmin etmeyin Belirtilen OP gerekliliği - ortamın pwd'nin spec dosyasının yeri olduğu konusunda hiçbir garanti yoktur. –

İlgili konular