.deb package creation from a minimal set of files.
Is it possible to create a .deb package from these files alone?
The files are saved in a dedicated directory: 1) control 2) changelog 3) copyright 4) directory-tree-holding-all-the-package's-binary-files-and-symlinks The source code consists of only one .cpp file which I edited from the systemd package. |
add 1: must be DEBIAN/control
add 2-3: ) changelog and copyright : E.g. /usr/share/<app.name>/{ changelog copyright } $ cd <dedicated directory>/ $ mkdir <app.name> $ mv DEBIAN/ <app.name>/ $ mv <directory-tree..>/ <app.name>/ Build example : $ dpkg-deb -b dummy dummy-1.1-1ubuntu14_amd64.deb .. where `dummy´ is "<app.name>/", and dummy-1.1-1ubuntu14_amd64.deb .. is your choice of version and <arch> ( must be e.g. i386 or amd64 ). "control", from the example Code:
Package: dummy |
My intention is not to create an empty dummy package but to replace system libraries using dpkg. Maybe, a more concrete question is, how to create a source tree from scratch? However, I don't need to recompile my source file as that is already done.
It seems like package creation tools assume one starts from a standard source tree instead of starting from readily compiled executables. If this is the case, I will have no other option apart from implementing my own tools. |
The example in #2 is a real application.
See the example "control" → Installed-Size: 2400 "dummy" is a random name. Your choice of name was unknown. Please show your `directory-tree/´, i.e. not quite clear what it is you want. But : You can put anything in a directory-tree. . https://www.debian.org/doc/manuals/m.../build.en.html * There is no such thing as a source-package.deb : Sources come as app-name_version.tar.** + app-name_version-<>.debian.tar.**, or : app-name_version.tar.** + app-name_version-<>.diff.gz - |
Here is an example using atunes 2.0.0
Set up your directory structure like this. atunes-2.0.0 is pre-compiled. "all" is the architecture. Code:
. Code:
dpkg -b all atunes_2.0.0-1_all.deb |
Quote:
|
I assume files installed by packages usually do not allow deletion by a normal user by having the root:root ownership flags. How can I tell dpkg -b to give me the correct file ownerships?
|
The only way it worked was to run chown -R root:root for the full package directory. Then I built the package with dpkg -b as the other methods are overly complicated for the task at hand.
|
All times are GMT -5. The time now is 11:43 PM. |