forums.xandros.com Forum Index forums.xandros.com
Xandros User Forums
 
 FAQFAQ   SearchSearch   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Creating a debian package for Xandros

 
Post new topic   Reply to topic    forums.xandros.com Forum Index -> Packaging
View previous topic :: View next topic  
Author Message
Andrew
Xendrosian
Xendrosian


Joined: 22 Feb 2003
Posts: 1739
Location: Wisconsin, USA

PostPosted: Wed Aug 18, 2004 8:19 pm    Post subject: Creating a debian package for Xandros Reply with quote

First take a look at this:
http://forums.xandros.com/viewtopic.php?t=9073
then this;
http://www.debian.org/doc/maint-guide/

there's a lot there, but here's the drill:

Install the following packages from Xandros Networks:

debhelper
dh-make
fakeroot

Now read through Chapter 2 of the maintainers guide...

Here's how I implement chapter 2:

I created a directory call Deb_Build in my Downloads folder
In the Deb_build directory I make a new folder with the name of the app I'm gonna package, for expample newapp-1.2
Next I download the tarball into that directory, and extract it into that same directory
Then I enter that directory and open a Console window and run the dh_make command: dh_make -f ../newapp-1.2.tar.gz

I was never able to get the BS in Chapter 3 to work....

In chapter 4 the control file is fairly important (you put the description, and dependencies there), and the rules file is VERY important, the first thing I do is change the configure line of the rules file so that it reads:

./configure --prefix=/usr

and if it says it can't find QT, I add the following to it:
-with-qt-includes=/usr/include/qt3

I never got anything out of Chapter 5....

In chapter 6 you get the command you use to actually create the debian package:

dpkg-buildpackage -rfakeroot

This will:

run, the configure command, make and make install into the debian/newapp directory...

If everything runs ok you get a deb package in the same directory as your tarball, if not you need to correct the problem (install a dependent package), and rerun the "dpkg-buildpackage -rfakeroot" command.

OK, so to break that down:

First you run dh_make (this creates the "debian" folder)
then edit the debian/rules fils (this contains the ./configure, make and make install commands)
Lastly run the "dpkg-buildpackage -rfakeroot" command (this creates the debian package)


I hope some of this makes sense...

--Andrew
_________________
Registered Linux user number 316996


Last edited by Andrew on Tue Aug 31, 2004 9:00 pm; edited 3 times in total
Back to top
View user's profile Send private message
mike80808
Xanscended
Xanscended


Joined: 14 Apr 2003
Posts: 3891
Location: St. Louis, MO

PostPosted: Sun Aug 22, 2004 5:55 pm    Post subject: Reply with quote

Thanks a gajillion, Andrew.

I hope to be building new DEBs for Xandros in no time.

Can I adapt this for the ArchLUG Kwikis?
_________________
Thanks for all the fishes, Xandros.
Back to top
View user's profile Send private message Visit poster's website
Andrew
Xendrosian
Xendrosian


Joined: 22 Feb 2003
Posts: 1739
Location: Wisconsin, USA

PostPosted: Sun Aug 22, 2004 9:09 pm    Post subject: Reply with quote

Quote:
Thanks a gajillion, Andrew.

I hope to be building new DEBs for Xandros in no time.

Can I adapt this for the ArchLUG Kwikis?


You're welcome, and you can do what you please with it Smile

--Andrew
_________________
Registered Linux user number 316996
Back to top
View user's profile Send private message
mike80808
Xanscended
Xanscended


Joined: 14 Apr 2003
Posts: 3891
Location: St. Louis, MO

PostPosted: Sun Aug 22, 2004 9:32 pm    Post subject: Reply with quote

I just followed this "kwiki" to build the kfiresaver3d as a deb for Xandros from a source tarball.

A couple of corrections to your original post:

The required package to install is "dh-make", not "dh_make".
The command it installs is, in fact, "dh_make", however.

The debian/rules file:

The place to add the configure options is the big long nasty ./configure one with all sorts of other options. I just appended the --prefix option and the --with-qt-includes options, since this particular application requires QT.

The option is "--with-qt-includes", note the leading double-dash.

I also had to add double-quotes around the CFLAGS settings. This particular build sets "CFLAGS=-Wall -g -O2", which when expanded as CFLAGS=$(CFLAGS), does not retain the value as a single value, and ends up looking for the non-existent "-g" command.

The corrected code is:
Code:
CFLAGS="$(CFLAGS)" ./configure ...


This should make it to the kwikis soon.
_________________
Thanks for all the fishes, Xandros.
Back to top
View user's profile Send private message Visit poster's website
Andrew
Xendrosian
Xendrosian


Joined: 22 Feb 2003
Posts: 1739
Location: Wisconsin, USA

PostPosted: Sun Aug 22, 2004 9:52 pm    Post subject: Reply with quote

Quote:
The required package to install is "dh-make", not "dh_make".
The command it installs is, in fact, "dh_make", however.


Wow, that's kinda weird that the package name is different from the app name...thanks for catching that...I updated the post

Quote:
The place to add the configure options is the big long nasty ./configure one with all sorts of other options. I just appended the --prefix option and the --with-qt-includes options, since this particular application requires QT.

The option is "--with-qt-includes", note the leading double-dash.


hmm, that single dash has been working well for me....maybe you can use either...? I also remove all the other junk from the configure line, and just make it:

Code:
./configure --prefix=/usr

and if it says it can't find QT, I add the following to it:
-with-qt-includes=/usr/include/qt3


Quote:
also had to add double-quotes around the CFLAGS settings. This particular build sets "CFLAGS=-Wall -g -O2", which when expanded as CFLAGS=$(CFLAGS), does not retain the value as a single value, and ends up looking for the non-existent "-g" command.
The corrected code is:

Code:
CFLAGS="$(CFLAGS)" ./configure ...


I always deleted the cflags part, but thanks for the tip, I'll try it that way next time...

--Andrew
_________________
Registered Linux user number 316996
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.xandros.com Forum Index -> Packaging All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group