블로그 이미지
안녕하세요~ iolate(isho) 의 블로그 입니다~! iolate

카테고리

분류 전체보기 (164)
Server, Cloud (7)
끄적끄적 (9)
Linux, Ubuntu (22)
개발질 (44)
Mac (18)
iOS (23)
IoT (13)
NAS (1)
Web (5)
Network (3)
Review (10)
기타 (9)
비공개글 (0)
Total588,179
Today6
Yesterday168

'deb'에 해당되는 글 1건

  1. 2011.01.30 DEBIAN PACKAGING (deb) 만들기 (수정) (1)
이글은 패키징을 직접 다 만들어서 하는 방법이다...
THEOS 를 이용해서 컴파일할 경우 makefile 약간 수정해서 걍 바로 한방에 패키징까지 하도록 하자;;;;; - 이거 설명은 나중에 하겠음!

이번 글은 데비안 패키지.
이건 다행이도 외국인의 친절한 유투브 동영상이 있었다..ㅎㅎ
하지만 맥에 dpkg를 설치하는데 좀 헤맨듯..

우선 MacPorts 를 설치해야 한다. 자세히는 모르겠지만
iPhone 의 apt-get 과 비슷한 역활을 하는듯.

다운을 받았으면 터미널을 실행하고

sudo port install dpkg

port 도 좋지만 homebrew 가 더 좋은듯.
이경우엔 sudo brew install dpkg

를 실행한다. 시간이 좀 걸림..(패스워드는 로그인한 계정의 비밀번호)

그다음 폴더를 하나 만들고 (폴더명은 크게 상관 없다.)
하위에 DEBIAN 폴더를 생성하고, 그안에 control 이라는 UTF-8 형식의 확장자 없는 파일을 만든다.(텍스트 편집기로 만들면 됨.)
내용은 아래와 같이...
[saurik 블로그에서 관련된 내용을 발견해서 조금 수정하겠음..ㅋ 원문은 : http://www.saurik.com/id/7 ]

Package: MyProgram
Version: 1.0
Architecture: iphoneos-arm
Depends: mobilesubstrate, preferenceloader
Replaces: MyProgram
Conflicts: MyProgram
Section: System
Maintainer: iolate <iolate@me.com>
Description: Lanch Banking app for jailbroken phone

Package 는 앱스토어앱들의 identifier 개념이다. 대문자로 적어도 모두 소문자로 인식.. 즉 대소문자 구분하지 않는다.
apt-get 등으로 받을때 사용되는 이름이기도 하다. 고로 고유해야 겠지?
 
Name 항목을 생성하고 넣을경우 시디아에선 이 Name 값이 나온다. 단, 사용자 필드이므로 빌드시 옵션을 넣어줘야 한다.
version 은 말그대로 버젼... 숫자,".","-" 까지 허용되는 것 같다..
Architecture 은 무시해도 되고 Depends는 의존성. 의존성에 있는 버젼 or 앱이 없으면 설치되지 않는다. 시디아에서의 경우 시디아가 자동으로 설치해줄것이다..(소스 내에 있으면.)
Replace는 이앱을 대치한다..Conflicts 는 아마 여기에 적힌 앱을 지우고 설치될 것이다..
Section은 음... 앱 만들정도 되면 다알겠지.. 그 밑으로도 알아서 이해하시길..귀찮;;ㅋㅋㅋㅋ


그리고 control 과 같은 경로에 특정 스크립트들을 넣어둘 수가 있다.
postinst 는 설치 후 작업.
preinst 는 설치 전 작업.
prerm 은 삭제 전,
postrm 은 삭제 후 실행되는 스크립트 파일 명이다.

권한 설정 등은 postinst 로 하면 되고 purge, remove, install 등 어떻게 실행 된 건지 체크 할 수도 있다.
이부분은 openssh 를 뜯어보시길..ㅋㅋ

그외에 다른 스크립트도 있는지는 모르겠음.


DS_Store_Cleaner_1.5.0.tar.gz

또한 맥에선 캐쉬 등을 위해 이것저것 잡 파일들을 많이 만든다..
그중 하나가  DS_Store 란 파일.. 위의 첨부파일로 삭제해주도록 하자.
저게 아마 Snow Leopard 에서만 작동할 수도 있는데 그러면 홈페이지 찾아가서 새 버젼 받으면 된다.ㅋ

이 프로그램으로 파일 내의 DS_Store 파일을 제거해 준뒤
터미널을 열어서

패키징을 원하는 폴더의 상위 폴더로 이동해서
dpkg -b 폴더이름
를 해주면 된다. tab키로 자동 완성 시킬 경우 젤 뒤에 / 가 생기는데 이럴경우 어디론가 사라지고 없으므로 꼭 지워주도록 하자.

이렇게 하면 폴더와 같은 위치에 deb파일이 생성된다! iFile등으로 설치하고 리스프링 하면 완료!!!


참고로 로컬에서 DEB를 설치해도 기록이 남기에 시디아에서도 Change에 리스트가 뜬다.


+ dpkg의 결과물에 ._ 로 시작하는 파일이 포함될수 있다. 나의 경우 DS_Store 는 지웠는데 남아있더라. deVbug님의 블로그에 보면 이에 대한 해결책을 알려준다. (http://devbug.me/618)

근데 나한텐 안되더라..ㅠㅠ
나의 경우엔 bash_profile 에

export COPYFILE_DISABLE=true
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true

를 추가해서 해결봤다!

'개발질 > iOS' 카테고리의 다른 글

BundleIdentifier로 앱 정보 구하기  (4) 2011.02.23
앱 설치 여부 구하기  (0) 2011.02.22
DEBIAN PACKAGING (deb) 만들기 (수정)  (1) 2011.01.30
PreferenceLoader 사용법  (0) 2011.01.30
MobileSubstrate Extension with XCode  (0) 2011.01.07
cydia 앱, MobileSubstrate  (0) 2011.01.07
Posted by iolate
TAG ,

최근에 달린 댓글

최근에 받은 트랙백

글 보관함