Autor |
Nachricht |
|
Titel: how do i make a .deb package?
Verfasst am: 14.08.2006, 05:41 Uhr
|
|
Anmeldung: 25. Jun 2006
Beiträge: 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! |
|
|
|
|
 |
|
Titel: how do i make a .deb package?
Verfasst am: 14.08.2006, 06:37 Uhr
|
|
Team Member


Anmeldung: 06. Mai 2005
Beiträge: 3087
Wohnort: 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 ]
|
|
|
|
 |
|
Titel: RE: how do i make a .deb package?
Verfasst am: 14.08.2006, 11:06 Uhr
|
|
Developer

Anmeldung: 01. Okt 2004
Beiträge: 245
Wohnort: Australia
|
|
What driver? Where? Let us know, and it could possibly be prepared for next release. |
|
|
|
|
 |
|
Titel:
Verfasst am: 14.08.2006, 13:16 Uhr
|
|
Anmeldung: 25. Jun 2006
Beiträge: 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:
Zitat:
"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. |
|
|
|
|
 |
|
Titel:
Verfasst am: 14.08.2006, 13:58 Uhr
|
|

Anmeldung: 07. Nov 2005
Beiträge: 112
Wohnort: 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
|
|
|
|
 |
|
Titel:
Verfasst am: 14.08.2006, 15:38 Uhr
|
|
Anmeldung: 25. Jun 2006
Beiträge: 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?  |
|
|
|
|
 |
|
Titel:
Verfasst am: 14.08.2006, 17:30 Uhr
|
|

Anmeldung: 07. Nov 2005
Beiträge: 112
Wohnort: 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
|
|
|
|
 |
|
Titel:
Verfasst am: 15.08.2006, 00:18 Uhr
|
|
Anmeldung: 25. Jun 2006
Beiträge: 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? |
|
|
|
|
 |
|
Titel:
Verfasst am: 15.08.2006, 03:10 Uhr
|
|

Anmeldung: 07. Nov 2005
Beiträge: 112
Wohnort: 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
|
|
|
|
 |
|
Titel:
Verfasst am: 15.08.2006, 03:24 Uhr
|
|
Anmeldung: 08. Dez 2005
Beiträge: 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 |
|
|
|
|
 |
|
Titel:
Verfasst am: 15.08.2006, 15:03 Uhr
|
|
Anmeldung: 25. Jun 2006
Beiträge: 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. |
|
|
|
|
 |
|
Titel:
Verfasst am: 15.08.2006, 16:50 Uhr
|
|
Team Member


Anmeldung: 17. Dez 2003
Beiträge: 1109
Wohnort: Ganymede
|
|
HK-47 hat folgendes geschrieben::
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"
|
|
|
|
 |
|