Remove generated files
[framework/connectivity/libgphoto2.git] / README.packaging
1 ========================================================================
2 libgphoto2 README.packaging
3 ========================================================================
4
5 This file describes a number of things you should know when building
6 packages (.debs, .rpms, ports, emerges, etc. pp.)
7
8
9 ========================================================================
10 libgphoto2 and libgphoto2_port
11 ==============================
12
13 The libgphoto2 library builds on the libgphoto2_port library, which is
14 thus internally contained within every libgphoto2 release. By
15 installing libgphoto2, you always also install libgphoto2_port.
16
17
18 ========================================================================
19 Installed files
20 ===============
21
22 A standard install of libgphoto2 does about this:
23
24    * The most important files:
25      * ${libdir}/libgphoto2.{a,la,so}
26      * ${libdir}/libgphoto2/<VERSION>/*.{a,la,so}        (camlibs)
27      * ${libdir}/libgphoto2_port.{a,la,so}
28      * ${libdir}/libgphoto2_port/<VERSION>/*.{a,la,so}   (iolibs)
29      In most cases, you can remove the *.a and *.la files from the
30      list of files to ship.
31    * Packaging helpers:
32      * ${utilsdir}/libgphoto2/print-camera-list
33      * ${utilsdir}/libgphoto2/print-usb-usermap (linux-hotplug, obsolete)
34      * ${udevscriptdir}/check-mtp-device
35      * ${udevscriptdir}/check-ptp-camera
36      Defaults: utilsdir=${libdir}, ${udevscriptdir}=${libdir}/udev.
37      You probably want to ./configure udevscriptdir=/lib/udev and possibly
38      utilsdir='${libexecdir}', depending on your system.
39    * Documentation:
40      * Man pages:
41        * ${mandir}/man3/libgphoto3.1
42        * ${mandir}/man3/libgphoto3_port.1
43      * ${docdir}/camlibs/README.*    (camlib docs)
44      * ${docdir}/{README,AUTHORS,NEWS}
45      * ${docdir}/apidocs.html/       API docs
46      * ${docdir}/{README,AUTHORS,NEWS}
47      You may want to install these files into your custom locations.
48      If you separate library from libfoo-devel packages, the former
49      should probably ship with the camlib docs, and the general README
50      and NEWS. Try configure --with-docdir=.
51    * Translated strings:
52      * ${datadir}/locale/*/LC_MESSAGES/libgphoto2-2.mo
53      * ${datadir}/locale/*/LC_MESSAGES/libgphoto2_port-0.mo
54      * ${datadir}/libgphoto2/<VERSION>/konica/*
55        These files are required for the konica camlib to work at all.
56    * For developers:
57      * ${includedir}/gphoto2/gphoto2*.h
58      * ${libdir}/pkgconfig/libgphoto2.pc
59      * ${libdir}/pkgconfig/libgphoto2_port.pc
60
61 Note that utilsdir, udevscriptdir, etc. can be set at configure
62 time. See "configure --help".
63
64
65 ========================================================================
66 Permission setup
67 ================
68
69 We consider it a bug in the package if the package does not offer a
70 way for the user to just plug in his camera and use it. This may at
71 most require adding the user to a "camera" or "plugdev" group.
72
73 You will want to create HAL or UDEV rules by running this utility:
74
75    * print-camera-list
76
77 This utility requires libgphoto2 and its camlibs being installed,
78 either
79
80    * at package building time by doing a DESTDIR based temporary
81      install somewhere and setting LD_LIBRARY_PATH and CAMLIBS before
82      running print-camera-list
83    * at package installation time as a post installation hook
84
85 The UDEV rules require two helper scripts/binaries, which obviously
86 need to be installed by the package:
87
88    * check-mtp-device (not working yet)
89    * check-ptp-camera
90
91 You can either use fixed permissions in the generated rules, or call
92 your own permission setup script to dynamically decide what to do.
93
94 (Contemporary example scripts are not being shipped yet.)
95
96
97 ========================================================================
98 Development packages
99 ====================
100
101 The recommended way to use libgphoto2 in a build process is to use
102 pkg-config and thus these files really should be shipped in a package:
103
104    * /usr/lib/pkgconfig/libgphoto2.pc
105    * /usr/lib/pkgconfig/libgphoto2_port.pc
106
107 We are still shipping
108
109    * /usr/bin/gphoto2-config
110    * /usr/bin/gphoto2-port-config
111
112 for compatibility reasons, but that will obviously break when you have
113 a /usr/lib64 vs. /usr/lib conflict. That problem is one the packager
114 will have to resolve - we consider this mechanism obsolete.
115
116
117 ========================================================================
118 End of file.
119 ========================================================================