আমি এমন একটি অ্যাপ্লিকেশনের জন্য একটি আরপিএম তৈরি করছি যার ইতিমধ্যে একটি নেই। আমি এটি /opt
ব্যবহার করে ডিরেক্টরিটি তৈরি করে সূক্ষ্মভাবে ইনস্টল করেছি $RPM_BUILD_ROOT
, তবে আমি এটিতে একটি দম্পতি সিমলিংক তৈরি করতে চাই /usr/bin
যাতে অ্যাপ্লিকেশনটি পথে পাওয়া যায়। এটি করার জন্য আমার সমস্ত প্রচেষ্টায় "অনুমতি অস্বীকার" ত্রুটি পাওয়া গেছে কারণ আমি rpmbuild
নন-রুট ব্যবহারকারী হিসাবে চালাচ্ছি এবং এটিতে ফাইল তৈরি করার অনুমতি নেই /usr/bin/
।
আমার বর্তমান .spec ফাইলটি এখানে:
Summary: Berkeley UPC
Name: berkeley_upc
Version: 2.8.0
Release: 1
Source0: %{name}-%{version}.tar.gz
License: GPL
Group: Development/Tools
BuildRoot: %{_builddir}/%{name}-root
Prefix: /opt/bupc2.8
Prefix: /usr
%description
Berkeley UPC on the BASS for the comp633 class.
%prep
%setup -q
%build
./configure CC=gcc44 CXX=g++44 --disable-aligned-segments --prefix=/opt/bupc2.8
make %{_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1
ln -sf /opt/bupc2.8/bin/upcc ${RPM_BUILD_ROOT}%{_bindir}
ln -sf /opt/bupc2.8/bin/upcc_multi ${RPM_BUILD_ROOT}%{_bindir}
ln -sf /opt/bupc2.8/bin/upcc_multi.pl ${RPM_BUILD_ROOT}%{_bindir}
ln -sf /opt/bupc2.8/bin/upcdecl ${RPM_BUILD_ROOT}%{_bindir}
ln -sf /opt/bupc2.8/bin/upcrun ${RPM_BUILD_ROOT}%{_bindir}
ln -sf /opt/bupc2.8/bin/upc_trace ${RPM_BUILD_ROOT}%{_bindir}
ln -sf /opt/bupc2.8/man/man1/upcc.1 ${RPM_BUILD_ROOT}%{_mandir}/man1
ln -sf /opt/bupc2.8/man/man1/upcdecl.1 ${RPM_BUILD_ROOT}%{_mandir}/man1
ln -sf /opt/bupc2.8/man/man1/upcrun.1 ${RPM_BUILD_ROOT}%{_mandir}/man1
ln -sf /opt/bupc2.8/man/man1/upc_trace.1 ${RPM_BUILD_ROOT}%{_mandir}/man1
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
/opt/bupc2.8
%config /opt/bupc2.8/etc
%config /opt/bupc2.8/opt/etc
%{_bindir}/upcc
%{_bindir}/upcc_multi
%{_bindir}/upcc_multi.pl
%{_bindir}/upcdecl
%{_bindir}/upcrun
%{_bindir}/upc_trace
%{_mandir}/man1/upcc.1.gz
%{_mandir}/man1/upcdecl.1.gz
%{_mandir}/man1/upcrun.1.gz
%{_mandir}/man1/upc_trace.1.gz
/home/eddale/src/rpm/tmp/berkeley_upc-root/usr/bin' to
/opt/bupc2.8/bin/upcc ': এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই