rpm 패키지작성하려구 하는데요.. 궁금한것이 있어 또 질문올립

익명 사용자의 이미지

우선 지난번에 답글해주신 분께 감사드리며.. 아직 걸음마를

하고 있는 초보라 모르는게 넘 많아서요..

질문 내용은 스펙은 아래와 같습니다.. 그래서 rpm바이너리와 소스가

만들어 졌는데요.. 우선 컴파일 되어져 있는 파일들을 옮겨 다른

시스템에 심어 넣으면 되는데 다른 시스템에 rpm 바이너리를

옮기구요. 이걸 rpm으로 설치했더니 이게 어디에 copy되는지 알수

없더군요.. 그냥 디렉토리를 ftp로 옮기면 되겠지만.. rpm 패키지

함 제작하려니 많이 힘드네요.. 어떤것이 빠졌기에 안되는 걸까요..

rpm이 만들어지면 다른 레드헷리눅스에 rpm 설치하면 /var/www/work

디렉토리안에 실행 파일들을 넣어 주고 싶은데요.. 한번 더 부탁

드립니다. 바쁘신데 읽어 주셔서 감사합니다.

Summary An X Window System image editing or paint program.
Name hanhaeexplore
Version 1.1.1
Release 1
Copyright MIT
Group Applications/Multimedia
Source0 %{name}-%{version}.tar.gz
BuildRoot %{_tmppath}/%{name}

%description
HanHaeExplore

Install the HanHaeExplore package

%prep
%setup -q -n %{name}
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT
cp -rf /usr/src/redhat/BUILD/%{name} $RPM_BUILD_ROOT

%post
/sbin/ldconfig
%postun
/sbin/ldconfig

%clean
rm -rf $RPM_BUILD_ROOT
%files

%changelog

익명 사용자의 이미지

음...적수네 동네에 있는게네여.. )
- 적수네에서 대충 답했는데
- 질문 요지가 좀 틀리네여..(제가 잘못 이해??)

우선..간단히 가정을 좀 하구여..

저는 test-0.0.1.tar.bz2라는 file 이 있습니다.
test-0.0.1.tar.bz2 라는 file을 풀면
test---/firstfile
/secondfile
/thirdfile
/pics/firstimage.png
/pics/firstimage2.png
와 같은 형태로 풀립니다. 물론 firstfile, secondfiile, thirdfile은 binary 파일이구여.
이것들을 /var/www/work/에 넣구 싶습니다. ㅇ
어케할까여?


우선 간단한 spec는 다음 과 같습니다.
----------------------------------------------------
#
# 이것은 연습이예용.. )
#
Summary this is test file
# lang가 ko일때..
Summary(ko) 이건 연습이랑께여..
Nametest
Version 0.0.1
Release 1
Source test-0.0.1.tar.bz2

CopyrightGPL
Group system environment/www/executions
URL http//www.idont.know
#
# 이건 /usr/lib/rpm/macros에서 읽습니다. 일반적으로 /var/tmp

BuildRoot %{_tmppath}/%{name}

#만약 %define를 하시면 훨씬 도 편합니다.
#
# %define prefix /var/www/work
#
# 이렇게 하면 %{prefix}라고만 해도 /var/www/work로 인식합니다.
# 예를 들어
# mkdir -p $RPM_BUILD_ROOT/%{prefix} 라고 하는 거나
# mkdir -p $RPM_BUILD_ROOT/var/www/work이나 동일하다는 거져..
#
# 하지만 과도한 define는 자제하시는 편이.. )



%description
djlkdjlfkdjf
%description(ko)
어쩌구 저쩌구

%prep
%setup -n %{name}

%build
#
#compile할게 없쩌여..

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/var/www/work

#
# 실행 파일 install

for files in firstfile secondfile thirdfile
do
install -m 755 $files $RPM_BUILD_ROOT/var/www/work
#또는 cp -f $files $RPM_BUILD_ROOT/var/www/work

done

#
# pics map install
#
for files in pics/*
do
if [ ! -d $RPM_BUILD_ROOT/var/www/work/pics ] ; then
mkdir -p $RPM_BUILD_ROOT/var/www/work/pics
fi
install -m 644 $files $RPM_BUILD_ROOT/var/www/work/pics
#
# 또는 cp -f $files $RPM_BUILD_ROOT/var/www/work/pics
done

##설치 끝~~

%clean
rm -f $RPM_BUILD_ROOT

%post
#이는 apache관련된거니까..
# 이걸 설치한 후에 apache를 다시 시작해주면 좋겠당..
service httpd restart > /dev/null

%postun
#흠.. 이 package를 제거한 후에 다시..
service httpd restart >/dev/null


%files
%deattr( -, root,root)
/var/www/work/*
##
## 또는
# /var/www/work/firstfile
# /var/www/work/secondfile
# /var/www/work/third/file
# /var/www/work/pics/*.png

%changlog
-


대충 이렇습니다. 그럼 도움이 되셨낄


--세벌식.. 잼있땅..헤~~

익명 사용자의 이미지

답변 감사합니다. 꾸벅.. ^^

그런데요.. rpm 설치할때 rpm -ivh ...rpm 하는데요

install에 선언안하고 따로 인스톨 디렉토리를 입력 받을수 있는 방법은

없을까요?? 왜냐면요 사용자의 httpd.conf 파일에 DocumenetRoot

디렉토리를 받아 와서 그곳에 설치해야하는데 만일 사용자가 입력하거나

아님 spec 파일에서 직접 그 시스템에 DocumentRoot를 직접 가져다 쓰는

환경 변수가 있는지 궁금하네요.. 제가 질문하는게 좀 어설퍼서 --;

암튼 읽어줘서 감사합니다..

익명 사용자의 이미지

사용자의 Docu..root에 따라 모두 변경하고자
하신다면 relocation을 이용하실수도 있는데..

저 같으면 scripts를 이용하겠습니다...

예를 들어 %build section에.
#
# for finding Documentationroot dir
#
TESTDIR=$(grep DocumentRoot /etc/httpd/conf/httpd.conf)
DEST_DIR=${TEST##*"}
DEST_DIR=${DEST_DIR%%"*}

#DEST_DIR=/var/www/html 와 값이 됩니다.
#
# 아니면 awk를 쓰셔도 되구여..
# DEST_DIR=$(echo $TESTDIR| awk -f'["]' 'print $2')
#
# 흠..awk는 좀 쓴지되서리.. 맞는지 몰겠네여
#
#
# installing..
mkdir -p $RPM_BUILD_ROOT/$DEST_DIR
cp -rf * $RPM_BUILD_ROOT/$DEST_DIR/

%clean
..
..

그럼 도움이 되셨길..

댓글 달기

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