| Author |
Message |
|
|
Post subject: how do i make a .deb package?
Posted: Aug 14, 2006 - 05:41 AM
|
|
Joined: Jun 25, 2006
Posts: 56
|
|
| i have an ov51x/ webcam, and there is no available driver at the debian repos (the ov511 driver doesn't work for me). i have found a driver, which i compile and install with the usual 'make' and 'make install' routine, and it works great. however, i'd rather manage everything i install through apt. how can i make a .deb package from the source and install it that way instead of 'make install'? thanks! |
|
|
| |
|
|
|
 |
|
|
Post subject: how do i make a .deb package?
Posted: Aug 14, 2006 - 06:37 AM
|
|
Team Member


Joined: May 06, 2005
Posts: 3087
Location: berlin
|
|
most easy way is, to substitute make install with checkinstall. that will make a deb and install it.
checkinstall was borked for a while, dont know current state, but i think it works.
greetz
devil |
_________________ <<We are Xorg - resistance is futile - you will be axximilated>>
Host/Kernel/OS "devilsbox" running[2.6.19-rc1-git5-kanotix-1KANOTIX-2006-01-RC4 ]
CPU Info AMD Athlon 64 3000+ clocked at [ 803.744 MHz ]
|
| |
|
|
|
 |
|
|
Post subject: RE: how do i make a .deb package?
Posted: Aug 14, 2006 - 11:06 AM
|
|
Developer

Joined: Oct 01, 2004
Posts: 245
Location: Australia
|
|
| What driver? Where? Let us know, and it could possibly be prepared for next release. |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Aug 14, 2006 - 01:16 PM
|
|
Joined: Jun 25, 2006
Posts: 56
|
|
it's this driver. it seems that the ov51x webcams require jpeg decompression, and this driver, which puts jpeg decompression in the kernel, is the only one i could get to work. but the author of the driver said:
Quote:
"To be clear, JPEG decompression should be considered 'evil' inside the kernel, and the normal way is to handle it in userland, so the original author was right doing what he did.
On the other hand, I had an ov519 camera and I did not want to wait for an hypothetic support of JPEG under v4l, and found it more easy to implement within the driver, using the in place proprietary decompression modules for the previous ov511 and 518 cameras, than to implement into v4l so I did this. "
so i guess this is why it isn't in the debian repos. |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Aug 14, 2006 - 01:58 PM
|
|

Joined: Nov 07, 2005
Posts: 112
Location: Venezuela
|
|
The current checkinstall in the repository is more stable.
The only problem I know of is:
1. If there is a *.spec file in the directory you are building the deb, rename to *.spec-no to avoid a problem with recognitions. Don't know why but I was told, and it workds better if I rename it. Still have to fix #3, the version number, after it starts, but all the rest works as expected.
Richard. |
_________________ kanotix-2006-01, 2.6.18.5-slh-up-1, IceWM, Krusader; P4, 2.8GHz, 512MB
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Aug 14, 2006 - 03:38 PM
|
|
Joined: Jun 25, 2006
Posts: 56
|
|
i tried checkinstall and got the following output:
Code:
checkinstall 1.6.0, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]:
Preparing package documentation...OK
Please write a description for the package.
End your description with an empty line or EOF.
>> drivers for ov51x webcams with jpeg decompression
>>
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@KanotixBox ]
1 - Summary: [ drivers for ov51x webcams with jpeg decompression ]
2 - Name: [ ov51x-jpeg ]
3 - Version: [ 0.5.3 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ ov51x-jpeg-0.5.3 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
Enter a number to change any of them or press ENTER to continue:
Installing with make install...
========================= Installation results ===========================
pwd: couldn't find directory entry in `../../../../..' with matching i-node
make -C /lib/modules/2.6.17.8-slh-up-1/build M= modules
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
chdir: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
make[1]: Entering directory `/usr/src/linux-headers-2.6.17.8-slh-up-1'
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
CHK include/linux/version.h
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/split-include
HOSTCC scripts/basic/docproc
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/kxgettext.o
HOSTCC scripts/kconfig/mconf.o
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf -s arch/i386/Kconfig
#
# using defaults found in .config
#
SPLIT include/linux/autoconf.h -> include/config/*
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/kallsyms
HOSTCC scripts/pnmtologo
HOSTCC scripts/conmakehash
HOSTCC scripts/bin2c
make[2]: *** No rule to make target `arch/i386/kernel/msr.c', needed by `arch/i386/kernel/msr.o'. Stop.
make[1]: *** [arch/i386/kernel] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.17.8-slh-up-1'
make: *** [all] Error 2
**** Installation failed. Aborting package creation.
Cleaning up...OK
Bye.
what do you think is wrong here?  |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Aug 14, 2006 - 05:30 PM
|
|

Joined: Nov 07, 2005
Posts: 112
Location: Venezuela
|
|
pwd -> present working directory not found.
You must be in the directory where you unpacked the tarball.
You must be root.
Those are the two things that happen to me most often.
And sometimes, it helps to start over again in a clean download and new directory.
Richard. |
_________________ kanotix-2006-01, 2.6.18.5-slh-up-1, IceWM, Krusader; P4, 2.8GHz, 512MB
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Aug 15, 2006 - 12:18 AM
|
|
Joined: Jun 25, 2006
Posts: 56
|
|
| hmm.. i ran checkinstall as root, and i was in the same directory where i unpacked the tarball and ran 'make'. that directory was inside ~/tmp. should i have unpacked it somewhere else? |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Aug 15, 2006 - 03:10 AM
|
|

Joined: Nov 07, 2005
Posts: 112
Location: Venezuela
|
|
I was wrong. Mostly.
You don't have to be root for all of it, only for check install.
$ ./configure && make && su -c checkinstall
You only must be root to actually install.
Looking over your message above, it seems that the trouble begins immediately:
pwd: couldn't find directory entry in `../../../../..' with matching i-node
make -C /lib/modules/2.6.17.8-slh-up-1/build M= modules
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Invalid argument
Maybe you need to reboot and try things again. Something is amiss in your system.
I don't know if that will fix it, but there is a problem with finding where you are.
I use the /usr/src directory and set all permissions to myself and then build there. Never tried it in a /tmp directory, though if the permissions are OK, it should work. |
_________________ kanotix-2006-01, 2.6.18.5-slh-up-1, IceWM, Krusader; P4, 2.8GHz, 512MB
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Aug 15, 2006 - 03:24 AM
|
|
Joined: Dec 08, 2005
Posts: 300
|
|
try building the program in your home dir. Put the directory with the source into your home dir then try the ./configure ; make ; checkinstall routine again.
Make sure you do the configure/make as a USER...only do the checkinstall as root:
su
checkinstall |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Aug 15, 2006 - 03:03 PM
|
|
Joined: Jun 25, 2006
Posts: 56
|
|
| yes i did run 'make' as user (there was no configure script included with the driver, the instructions of the author was to run make straight away) and 'checkinstall' as root. i also tried moving the directory to my home directory, but still no luck. the weird thing is running 'make install' instead of checkinstall works perfectly. |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Aug 15, 2006 - 04:50 PM
|
|
Team Member


Joined: Dec 17, 2003
Posts: 1109
Location: Ganymede
|
|
|
HK-47 wrote:
yes i did run 'make' as user (there was no configure script included with the driver, the instructions of the author was to run make straight away) and 'checkinstall' as root. i also tried moving the directory to my home directory, but still no luck. the weird thing is running 'make install' instead of checkinstall works perfectly.
Well there is nothing really wrong with that it's just that you won't ever be able to uninstall w/ apt-get remove. Also sometimes checkinstall simply does not work. Just be sure to try it first as you have done. |
_________________ Ubuntu - An ancient African word for "Can't install Debian"
|
| |
|
|
|
 |
|
|