Active Topics

 


Reply
Thread Tools
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#1
Hey guys,

I want to upload my Easy Debian package to Extras Devel.

It is a bunch of shell scripts, config files, and a couple of binaries (kernel modules, etc) contributed by others (I don't have the source code for them).

I have built the package with Khertan's PyPackager, and the resulting .deb installs well. However, it seems that I can't just upload the .deb to Extras-Devel; I have to make a "source package" that Autobuilder will like. I don't have such a thing; does this mean I can't upload to Extras-Devel?

Is there some way I can disassemble my .deb package into a file structure and then re-assemble it in a way that can be uploaded to Extras-Devel?
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 
Stskeeps's Avatar
Posts: 1,671 | Thanked: 11,478 times | Joined on Jun 2008 @ Warsaw, Poland
#2
I usually build my packages by in scratchbox or whereever, make a directory <name>-<version>with files in, make a Makefile that copies into ${DESTDIR}, dh_make in the directory, edit the needed files in debian/, and dpkg-buildpackage has one for building a source package.

See http://trac.tspre.org/projects/deble...-kdm-autologin for an example package i've built like that.
__________________
As you go on to other communities, remember to build them around politeness, respect, trust and humility. Be wary of poisonous people and deal with them before they end up killing your community.. Seen it happen to too many IRC channels, forums, open source projects.
 

The Following User Says Thank You to Stskeeps For This Useful Post:
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#3
I don't use scratchbox, I do everything on-tablet. I don't compile. I have no source.

I have a pre-assembled .deb that I'd like to upload, and so this means I need to "explode" it back to a directory structure (including control info, postinst and postrm scripts) and assemble it into a "source" package using
Code:
dpkg-buildpackage -rfakeroot -sa -S
How do I explode the package and tweak it so that the dpkg-buildpackage command produces an acceptable blob that can be uploaded?
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 
Stskeeps's Avatar
Posts: 1,671 | Thanked: 11,478 times | Joined on Jun 2008 @ Warsaw, Poland
#4
If you don't mind doing it in Debian (chroot, apt-get install dpkg-dev) [because Maemo's dpkg-buildpackage on tablet isn't exactly noteworthy or properly operational last i checked].

Trust me, you're much better off making a debian source package from scratch with dh_make and write a small Makefile for installation into right paths, and then assembling it with dpkg-buildpackage (i know you don't have sources to compile, but installation into a directory is still a build process item).

I did this with 60+ packages from Deblet which was in same form as your constructed deb, and having to maintain it afterwards, release new versions, etc., is just so much easier, and it does a lot of work for you that you had to do by hand before :P
__________________
As you go on to other communities, remember to build them around politeness, respect, trust and humility. Be wary of poisonous people and deal with them before they end up killing your community.. Seen it happen to too many IRC channels, forums, open source projects.
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#5
Using Stskeeps example, it looks like I need to make a directory that has all of the folders, and then another folder named "debian" with the control files...

So I did this:
Code:
mkdir mypackage
cd mypackage
dpkg-deb -X /other/place/mypackage.deb .
dpkg-deb -e /other/place/mypackage.deb debian
So now I have a directory, mypackage, with my root directory tree, and a debian directory with all my control files.

Now what do I do about the "Makefile" that I see in the Stskeeps example? Do I need it? What should it contain?

EDIT: "If you don't mind doing it in Debian.." Hee hee, of course I don't!

Code:
/mypackage/
   debian/
      control
      postinst
      postrm
      preinst
      prerm
   etc/
   home/
   lib/
   sbin/
   usr/
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!

Last edited by qole; 2008-10-08 at 18:06. Reason: directory structure
 
Stskeeps's Avatar
Posts: 1,671 | Thanked: 11,478 times | Joined on Jun 2008 @ Warsaw, Poland
#6
Originally Posted by qole View Post
Code:
mkdir mypackage
cd mypackage
dpkg-deb -X /other/place/mypackage.deb .
dpkg-deb -e /other/place/mypackage.deb debian
First mistake is, - a source package is actually not a package, it's a tar.gz

If you want to hop on IRC, i'll guide you through getting a proper debian package going from bottom up, if you want to.
__________________
As you go on to other communities, remember to build them around politeness, respect, trust and humility. Be wary of poisonous people and deal with them before they end up killing your community.. Seen it happen to too many IRC channels, forums, open source projects.
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#7
those dpkg-deb commands explode my assembled deb into the directory structure I list in my post. Now that I have everything all unpacked, I want to know:
  1. Do I need a Makefile? If so, what should it contain?
  2. Should "dpkg-buildpackage -rfakeroot -sa -S" in this directory build the proper tar.gz?

I would prefer to hack this out in the forums, so other people can use these posts to do this themselves...
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 

The Following User Says Thank You to qole For This Useful Post:
Posts: 49 | Thanked: 64 times | Joined on Apr 2007 @ Victoria, BC, Canada
#8
You can upload it. See the section on non-free (binary only) packages here:

http://wiki.maemo.org/Uploading_to_Extras

Originally Posted by qole View Post
Hey guys,

I have built the package with Khertan's PyPackager, and the resulting .deb installs well. However, it seems that I can't just upload the .deb to Extras-Devel; I have to make a "source package" that Autobuilder will like. I don't have such a thing; does this mean I can't upload to Extras-Devel?
 

The Following User Says Thank You to mikemorrison For This Useful Post:
yerga's Avatar
Posts: 696 | Thanked: 1,012 times | Joined on Mar 2006 @ Asturies, Spain
#9
Originally Posted by qole View Post
Hey guys,

I want to upload my Easy Debian package to Extras Devel.

It is a bunch of shell scripts, config files, and a couple of binaries (kernel modules, etc) contributed by others (I don't have the source code for them).

I have built the package with Khertan's PyPackager, and the resulting .deb installs well. However, it seems that I can't just upload the .deb to Extras-Devel; I have to make a "source package" that Autobuilder will like. I don't have such a thing; does this mean I can't upload to Extras-Devel?

Is there some way I can disassemble my .deb package into a file structure and then re-assemble it in a way that can be uploaded to Extras-Devel?
Qole, you can to use py2deb from Khertan too. Twaelti has written a good tutorial in the wiki: http://wiki.maemo.org/Py2deb
__________________
Daniel Martín Yerga
maemo.org profile
Twitter
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#10
Originally Posted by mikemorrison View Post
You can upload it. See the section on non-free (binary only) packages here:

http://wiki.maemo.org/Uploading_to_Extras
That might do for the time being, even though my stuff actually is GPL.

Does the non-free stuff show up in the "normal" Application Manager or does the user have to change their repositories?
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 
Reply

Tags
autobuilder, extras, package, upload


 
Forum Jump


All times are GMT. The time now is 04:28.