[질문] 나만의 rpm을 만들려고 하는데 잘 안되네요. 도와주세요.

yundorri의 이미지

안녕하세요.
제가 가진 vatrend-1.0.tar.gz를 /usr/src/redhat/SOURCES/ 에 넣고
rpm build를 하였습니다.
build할 때는 설치/make등이 정상적으로 실행되 되고 원하는 디렉토리도
생성이 됩니다.
그런데 생성된 valtrend-1.0-1.i386.rpm을 다른 PC에서

rpm -Uvh valtrend-1.001.i386.rpm 등과 같이 설치를 하면
디렉토리도 안생기고 File 카피도 안되고... 도데체 무슨까닭인지 모르겠습니다.

이걸로 이틀을 세웠습니다. rpm 잘 만드시는 분들.. 도와주세요~

제가 가진 Spec File의 내용이구요.

[root@swdev2 SPECS]# cat valtrend-1.0.spec
Summary: A program that ejects removable media using software control.
Name: valtrend
Version: 1.0
Release: 1
Copyright: GPL
Group: System Environment/Base
Source: /usr/src/redhat/SOURCES/%{name}-%{version}.tar.gz
BuildRoot: /tmp/%{name}

%description
The is sample program.

%prep
%setup -q

%build
make RPM_OPT_FLAGS="$RPM_OPT_FLAGS"

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT

install -s -m 755 valtrend $RPM_BUILD_ROOT
install -s -m 755 valtrend /usr/bin/

%clean
rm -rf $RPM_BUILD_DIR

%files
%defattr(-,root,root)
/usr/bin/valtrend

%changelog
* Mon Jun 15 2004 yundorri 1.0
- First Setup and Build RPMS

rpm을 rebuild시킬 때 화면입니다.

[root@swdev2 SPECS]# rpmbuild -ba valtrend-1.0-1.spec
실행 중(%prep): /bin/sh -e /var/tmp/rpm-tmp.46304
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ cd /usr/src/redhat/BUILD
+ rm -rf valtrend-1.0
+ /usr/bin/gzip -dc /usr/src/redhat/SOURCES/valtrend-1.0.tar.gz
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd valtrend-1.0
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,g-w,o-w .
+ exit 0
실행 중(%build): /bin/sh -e /var/tmp/rpm-tmp.46304
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd valtrend-1.0
+ LANG=C
+ export LANG
+ make 'RPM_OPT_FLAGS=-O2 -g -pipe -march=i386 -mcpu=i686'
g++ -c -pipe -Wall -W -O2 -march=i386 -mcpu=i686 -g -fno-use-cxa-atexit -fno-exceptions -I/usr/lib/qt-3.1/mkspecs/default -I. -I. -I/usr/lib/qt-3.1/include -DGLX_GLXEXT_LEGACY -DQT_NO_DEBUG -DDEBUG -o main.o main.cpp
g++ -c -pipe -Wall -W -O2 -march=i386 -mcpu=i686 -g -fno-use-cxa-atexit -fno-exceptions -I/usr/lib/qt-3.1/mkspecs/default -I. -I. -I/usr/lib/qt-3.1/include -DGLX_GLXEXT_LEGACY -DQT_NO_DEBUG -DDEBUG -o valtrend.o valtrend.cpp
/usr/lib/qt-3.1/bin/moc valtrend.h -o moc_valtrend.cpp
g++ -c -pipe -Wall -W -O2 -march=i386 -mcpu=i686 -g -fno-use-cxa-atexit -fno-exceptions -I/usr/lib/qt-3.1/mkspecs/default -I. -I. -I/usr/lib/qt-3.1/include -DGLX_GLXEXT_LEGACY -DQT_NO_DEBUG -DDEBUG -o moc_valtrend.o moc_valtrend.cpp
g++ -o valtrend main.o valtrend.o moc_valtrend.o -L/usr/lib/qt-3.1/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm
+ exit 0
실행 중(%install): /bin/sh -e /var/tmp/rpm-tmp.44185
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd valtrend-1.0
+ LANG=C
+ export LANG
+ rm -rf /tmp/valtrend
+ mkdir -p /tmp/valtrend
+ install -s -m 755 valtrend /tmp/valtrend
+ install -s -m 755 valtrend /usr/bin/
+ /usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/valtrend-1.0
0 blocks
find: /tmp/valtrend/usr/lib/debug: No such file or directory
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
파일 처리 중: valtrend-1.0-1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libX11.so.6 libXext.so.6 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libgcc_s.so.1 libm.so.6 libm.so.6(GLIBC_2.0) libqt-mt.so.3 libstdc++.so.5
파일 처리 중: valtrend-debuginfo-1.0-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files /tmp/valtrend
작성: /usr/src/redhat/SRPMS/valtrend-1.0-1.src.rpm
작성: /usr/src/redhat/RPMS/i386/valtrend-1.0-1.i386.rpm
작성: /usr/src/redhat/RPMS/i386/valtrend-debuginfo-1.0-1.i386.rpm
실행 중(%clean): /bin/sh -e /var/tmp/rpm-tmp.44185
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd valtrend-1.0
+ rm -rf /usr/src/redhat/BUILD/valtrend-1.0
+ exit 0
[root@swdev2 SPECS]#

이것은 다른 PC에서 설치할 때 나오는 메시지 입니다.

[root@swdev3 RPMS]# rpm -Uvh valtrend-1.0-1.i386.rpm -vv
D: ============== valtrend-1.0-1.i386.rpm
D: 예상(Expected) 용량: 16165 = lead(96)+sigs(180)+pad(4)+data(15885)
D: 실제 용량: 16165
D: valtrend-1.0-1.i386.rpm: MD5 digest: OK (8ad6347a850fd46e849c1721efd1f1a4)
D: 여는중 db 환경 /var/lib/rpm/Packages joinenv
D: 여는중 db 인덱스 /var/lib/rpm/Packages rdonly 모드=0x0
D: 잠금된 db 인덱스 /var/lib/rpm/Packages
D: 여는중 db 인덱스 /var/lib/rpm/Providename rdonly 모드=0x0
D: added binary package [0]
D: 0의 소스와 1의 바이너리 패키지가 검색되었습니다
D: ========== +++ valtrend-1.0-1 i386/linux 0x1
D: 여는중 db 인덱스 /var/lib/rpm/Depends create 모드=0x0
D: 여는중 db 인덱스 /var/lib/rpm/Pubkeys rdonly 모드=0x0
D: read h# 220 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libX11.so.6 예 (db provides)
D: read h# 220 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libXext.so.6 예 (db provides)
D: read h# 7 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libc.so.6 예 (db provides)
D: read h# 7 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libc.so.6(GLIBC_2.0) 예 (db provides)
D: read h# 7 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libc.so.6(GLIBC_2.1) 예 (db provides)
D: read h# 23 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libgcc_s.so.1 예 (db provides)
D: read h# 7 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libm.so.6 예 (db provides)
D: read h# 7 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libm.so.6(GLIBC_2.0) 예 (db provides)
D: read h# 355 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libqt-mt.so.3 예 (db provides)
D: read h# 126 Header V3 DSA signature: NOKEY, key ID db42a60e
D: Requires: libstdc++.so.5 예 (db provides)
D: Requires: rpmlib(CompressedFileNames) <= 3.0.4-1 예 (rpmlib provides)
D: Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 예 (rpmlib provides)
D: 닫힌 db 인덱스 /var/lib/rpm/Depends
D: ========== tsort 관계를 기록(record)합니다
D: ========== 패키지를 tsort 합니다 (순서, #선임자, #후임자, 트리, 깊이[depth])
D: 0 0 0 0 0 +valtrend-1.0-1
D: 바이너리 패키지를 설치합니다
D: 닫힌 db 인덱스 /var/lib/rpm/Pubkeys
D: 닫힌 db 인덱스 /var/lib/rpm/Providename
D: 닫힌 db 인덱스 /var/lib/rpm/Packages
D: 닫힌 db 환경 /var/lib/rpm/Packages
D: 여는중 db 환경 /var/lib/rpm/Packages joinenv
D: 여는중 db 인덱스 /var/lib/rpm/Packages create 모드=0x42
D: mounted filesystems:
D: i dev bsize bavail iavail mount point
D: 0 0x0302 4096 888221 560487 /
D: 1 0x0002 1024 0 -1 /proc
D: 2 0x0007 1024 0 -1 /proc/bus/usb
D: 3 0x0301 1024 86545 26063 /boot
D: 4 0x0006 1024 0 -1 /dev/pts
D: 5 0x0306 4096 7690706 4124766 /home
D: 6 0x0008 4096 48003 48002 /dev/shm
D: 7 0x0303 4096 233878 127680 /tmp
D: sanity checking 1 elements
D: 여는중 db 인덱스 /var/lib/rpm/Name create 모드=0x42
D: computing 1 file fingerprints
준비 중... D: computing file dispositions
D: 여는중 db 인덱스 /var/lib/rpm/Basenames create 모드=0x42
########################################### [100%]
D: ========== +++ valtrend-1.0-1
D: 예상(Expected) 용량: 16165 = lead(96)+sigs(180)+pad(4)+data(15885)
D: 실제 용량: 16165
D: install: valtrend-1.0-1 has 1 files, test = 0
1:valtrend D: ========== Directories not explictly included in package:
D: 0 /
D: ==========
########################################### [100%]
D: fini 100755 1 ( 0, 0) 31400 /valtrend;40c9211c
GZDIO: 4 reads, 31648 total bytes in 0.000 secs
D: +++ h# 428 Header SHA1 digest: OK (35d5eb4262645e2021704289adc521bb97f85163)
D: Name 인덱스에 "valtrend"(을)를 추가합니다.
D: Basenames 인덱스에 "valtrend"(을)를 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Group create 모드=0x42
D: Group 인덱스에 "System Environment/Base"(을)를 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Requirename create 모드=0x42
D: Requirename 인덱스에 12 항목들(entries)을 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Providename create 모드=0x42
D: Providename 인덱스에 "valtrend"(을)를 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Dirnames create 모드=0x42
D: Dirnames 인덱스에 "/"(을)를 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Requireversion create 모드=0x42
D: Requireversion 인덱스에 12 항목들(entries)을 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Provideversion create 모드=0x42
D: Provideversion 인덱스에 "1.0-1"(을)를 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Installtid create 모드=0x42
D: Installtid 인덱스에 1 항목들(entries)을 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Sigmd5 create 모드=0x42
D: Sigmd5 인덱스에 1 항목들(entries)을 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Sha1header create 모드=0x42
D: Sha1header 인덱스에 "35d5eb4262645e2021704289adc521bb97f85163"(을)를 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Filemd5s create 모드=0x42
D: Filemd5s 인덱스에 1 항목들(entries)을 추가합니다.
D: 여는중 db 인덱스 /var/lib/rpm/Triggername create 모드=0x42
D: 닫힌 db 인덱스 /var/lib/rpm/Filemd5s
D: 닫힌 db 인덱스 /var/lib/rpm/Sha1header
D: 닫힌 db 인덱스 /var/lib/rpm/Sigmd5
D: 닫힌 db 인덱스 /var/lib/rpm/Installtid
D: 닫힌 db 인덱스 /var/lib/rpm/Provideversion
D: 닫힌 db 인덱스 /var/lib/rpm/Requireversion
D: 닫힌 db 인덱스 /var/lib/rpm/Dirnames
D: 닫힌 db 인덱스 /var/lib/rpm/Triggername
D: 닫힌 db 인덱스 /var/lib/rpm/Providename
D: 닫힌 db 인덱스 /var/lib/rpm/Requirename
D: 닫힌 db 인덱스 /var/lib/rpm/Group
D: 닫힌 db 인덱스 /var/lib/rpm/Basenames
D: 닫힌 db 인덱스 /var/lib/rpm/Name
D: 닫힌 db 인덱스 /var/lib/rpm/Packages
D: 닫힌 db 환경 /var/lib/rpm/Packages
[root@swdev3 RPMS]#

batmi의 이미지

지금쯤이면 해결을 하셨는지 모르겠네요...
혹시나 해서 글 올립니다.
제가 스펙 파일을 약간 수정하였습니다.

Quote:

[root@swdev2 SPECS]# cat valtrend-1.0.spec
Summary: A program that ejects removable media using software control.
Name: valtrend
Version: 1.0
Release: 1
Copyright: GPL
Group: System Environment/Base
Source: /usr/src/redhat/SOURCES/%{name}-%{version}.tar.gz
BuildRoot: /tmp/%{name}

%description
The is sample program.

%prep
%setup -q

%build
make

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/bin

install -s -m 755 valtrend $RPM_BUILD_ROOT/usr/bin/

%clean
rm -rf $RPM_BUILD_DIR

%files
%defattr(-,root,root)
/usr/bin/valtrend

%changelog
* Mon Jun 15 2004 yundorri 1.0
- First Setup and Build RPMS

잘 될지 모르겠네요..^____________^;;

.
마음을 가꾸는 방법은??

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.