[질문] 나만의 rpm을 만들려고 하는데 잘 안되네요. 도와주세요.
안녕하세요.
제가 가진 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]#
시간이 많이 지났지만...
지금쯤이면 해결을 하셨는지 모르겠네요...
혹시나 해서 글 올립니다.
제가 스펙 파일을 약간 수정하였습니다.
잘 될지 모르겠네요..^____________^;;
.
마음을 가꾸는 방법은??
댓글 달기