Fedora에서의 RPM spec 파일 관련 질문입니다

realstorm103의 이미지

Fedora15에서 RPM 파일을 만들고 있는데요
제가 하고자 하는 건 Source0, 1, 2의 파일을 홈폴더 아래에 있는 MYDIR에 옮기는 작업입니다
아래의 spec 파일 코드에서 어떤 부분을 수정해야 할지 감이 잘 안오네요...

참고로 Source 0, 1, 2에 해당하는 txt 파일들은 SOURCE 폴더에 넣어뒀고요

test.spec ----------
Name : TestPackage
Summary : Package for test
Group : Monitoring
Source0:eula.1028.txt
Source1:eula.1031.txt
Source2:eula.1033.txt
Version:2.0.0
Release:dhw
License:GPL
BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}

%description
nothing special

cp * $HOME/MYDIR/

%files
%defattr(-,root, root)

현재 spec 파일을 rpmbuild -ba test.spec을 통해서 build 하고 나면
src.rpm 파일과 rpm 파일이 생기는데요 src.rpm 파일에는 소스 파일들이 포함이 되어 있는데
정작 rpm 파일에는 아무 파일도 포함이 안 되어 있네요...

어떤 식으로 spec 파일을 수정하면 좋을지 조언 부탁드립니다

세이군의 이미지

%files 단락이 비어있네요.
이부분이 채워져 있어야 합니다.
source0, source1, source2를 설치위치($HOME/MYDIR/source0가 되도록) 경로에 맞춰서 입력해주세요.

realstorm103의 이미지

제가 본 문서의 예제에서는

%attr(644,root,root) %{_sysconfdir}/security/console.apps/*
%attr(644,root,root) %{_sysconfdir}/pam.d/*

%{_bindir}/*
%{_sbindir}/*
%{_mandir}/*

이런 식으로 채워져있던데.. 파일마다 경로를 어떻게 설정해야하는지 그런걸 잘 모르겠네요;

익명 사용자의 이미지

description 섹션에 cp 관련 명령이 있는데 그걸 %files 섹션으로 옮겨보세요.
cp * $HOME/MYDIR/ 하기 전에

mkdir -p $HOME/MYDIR/정도를 두는 게 나을 것 같네요.

realstorm103의 이미지

cp * $HOME/MYDIR/을 files 섹션으로 옮겼더니
파일은 반드시 /로 시작해야함. 이라는 에러 메시지가 뜨면서 빌드 자체가 안 되네요.

hys545의 이미지

cp xx
같은 명령어는 못들어갑니다.
그리거 rpm에 파일 넣으려면
$HOME/mydir로 복사하는 것보다는
그냥
cp ${buildroot}
로 빌드루트에 넣거
file섹션에는
*.*
만 적어두는게 좋을듯

즐린

realstorm103의 이미지

지금 저 위의 cp는 rpm을 실제로 사용할 사람의
HOME 아래의 MYDIR이란 폴더에 제가 원하는 파일을 넣기 위해서
적어둔 거였는데 그럼 저기에는 문제가 없는건가요?

그리고 buildroot라는 폴더가 하는 역할 좀 정확히 알려주실 수 있나요 ㅜ
대충 알긴 하는데 정확한 역할을 몰라서 그런가 혼동이 오네요;
뭘 적어야할지도 오락가락하고요

%files 섹션 밑에 어떤 특정 파일명들을 적으면
RPM 제작 오류:
glob으로 파일을 찾을 수 없음:
/home/abcabc/rpmbuild/BUILDROOT/TestPackage-2.0.0.5.i386/*.*

이런 에러 메시지가 뜨네요; release는 이글 올린 후에 5로 제가 바꾼거고요
근데 TestPackage-2.0.0.5라는 폴더는 rpmbuild를 실행하면 생성한 후에 종료까지 알아서 하던데
저기에서 왜 파일을 찾는건지...

hys545의 이미지

그 안에 파일을 복사하고
files섹션에 지정하면
rpm안에 들어갑니다.
그리고 buildroot지정하는 게 아마 %{buildroot}였나 %{BuildRoot}였나

cp 복사할 파일 $RPM_BUILD_ROOT
이렇게 해야 rpm안에 들어갈겁니다
http://rpm5.org/docs/api/buildroot.html

즐린

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.