OESF | ELSI | pdaXrom | OpenZaurus | Zaurus Themes | Community Links | Ibiblio

IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> How Do I Make An Ipk?
kurochka
post Nov 9 2006, 02:20 PM
Post #1





Group: Members
Posts: 303
Joined: 6-February 04
Member No.: 1,740



You can call me a novice Linux user; however, it is not true because I have "used" Linux for about 5-6 years. I guess I will remain a "user" forever.

With my level in mind, could somebody describe step-by-step how to make an ipk package from the files that I already have on my Zaurus? For example, a dictionary for Zbedic or a font.

I understand that an ipk is just an archive with some control where to put files and a log what files and where have been installed. I've searched and could not find an easy tutorial on how to make those ipks.
Go to the top of the page
 
+Quote Post
Capn_Fish
post Nov 9 2006, 03:00 PM
Post #2





Group: Members
Posts: 2,350
Joined: 30-July 06
Member No.: 10,575



I will try to explain it.

You make a folder with the name of the app/font/etc. Inside of that, make 2 folders, one named CONTROL and one named data. For simplicity, I will assume that this folder is on /mnt/card.

Open up a text editor and write 2.0 on the first line. Save this as /mnt/card/appname/debian-binary.

In the directory labeled "data" make the path of folders starting from root that you want to include in your install. Example: If your dictionary is in /home/root you would make a folder (inside of "data") called home, and one inside of that called "root". You then put the dictionary file in that "root" directory.

Open up a text editor and write the following:

Package: (package name)
Version: (version)
Architecture: (for pdaXrom, armv5tel, I don't know about Cacko. I would assume arm)
Maintainer: (your name)
Description: (description)

Save this as /mnt/card/appname/CONTROL/control

Once all of that is done, open up a terminal.

type:

#cd /mnt/card/appname/CONTROL
#tar -czf ../control.tar.gz ./*
#cd /mnt/card/appname/data
#tar -czf ../data.tar.gz ./*
#cd /mnt/card/appname
#tar -czf name_version_arm.ipk ./debian-binary ./data/tar/gz ./control.tar.gz

You're done. That's how it works in pdaXrom, I assume it's the same in Cacko.
Go to the top of the page
 
+Quote Post
Meanie
post Nov 9 2006, 03:18 PM
Post #3





Group: Members
Posts: 2,808
Joined: 21-March 05
From: Sydney, Australia
Member No.: 6,686



QUOTE(Capn_Fish @ Nov 10 2006, 09:00 AM)
I will try to explain it.

You make a folder with the name of the app/font/etc. Inside of that, make 2 folders, one named CONTROL and one named data. For simplicity, I will assume that this folder is on /mnt/card.

Open up a text editor and write 2.0 on the first line. Save this as /mnt/card/appname/debian-binary.

In the directory labeled "data" make the path of folders starting from root that you want to include in your install. Example: If your dictionary is in /home/root you would make a folder (inside of "data") called home, and one inside of that called "root". You then put the dictionary file in that "root" directory.

Open up a text editor and write the following:

Package: (package name)
Version: (version)
Architecture: (for pdaXrom, armv5tel, I don't know about Cacko. I would assume arm)
Maintainer: (your name)
Description: (description)

Save this as /mnt/card/appname/CONTROL/control

Once all of that is done, open up a terminal.

type:

#cd /mnt/card/appname/CONTROL
#tar -czf ../control.tar.gz ./*
#cd /mnt/card/appname/data
#tar -czf ../data.tar.gz ./*
#cd /mnt/card/appname
#tar -czf name_version_arm.ipk ./debian-binary ./data/tar/gz ./control.tar.gz

You're done. That's how it works in pdaXrom, I assume it's the same in Cacko.
*


busybox on cacko/sharp doesn't have the -z option for tar so you can't do the above on the Z directly unless you install a replacement package for tar which supports that option.

just substitute
tar -czf ../name.tar.gz ./*
with
tar cf - ./* | gzip > ../name.tar.gz

alternatively, just install my ipktools package and you can then do

# ipknew myappp

to create a skeleton package structure and edit the control file and replace the template with appropriate values, and dump the files you want under the data directory with the corresponding directory structure. then just run

# makeipk myapp

and your ipk file is created for you.

if you ever want to update or modify an ipk file, then you can do

# unpackipk myapp

refresh/update the files and regenerate with

# makeipk myapp
Go to the top of the page
 
+Quote Post
ZDevil
post Nov 9 2006, 03:18 PM
Post #4





Group: Members
Posts: 2,003
Joined: 16-April 04
From: the Netherlands && /dev/null
Member No.: 2,882



Chero has written an excellent guide, which was my very first lesson on compiling and packaging: http://users.telenet.be/zaurususer/Chero/compiling/ wink.gif

To my mind there also seems to be a page on packaging either in the oesf wiki or the pdaxrom website. Maybe it's just my imagination?

Edited:
Hey, here you go:
http://www.oesf.org/index.php?title=IPKG_Howto
http://www.oesf.org/index.php?title=Pdaxro...te_An_Ipk_Howto

This post has been edited by ZDevil: Nov 9 2006, 03:23 PM
Go to the top of the page
 
+Quote Post
kurochka
post Nov 10 2006, 08:31 AM
Post #5





Group: Members
Posts: 303
Joined: 6-February 04
Member No.: 1,740



This is awesome! Thank you, everybody, for a prompt response. Using ipk is much easier than copying by hand. I understand that I can put simlinks in data and they will be part of the package, right? In that case, I guess I shouldn't use a FAT card.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 19th December 2014 - 04:12 AM