Observations Regarding Debian/Ubuntu Apt Repository Access

A useful but old link

Good old wikipedia...

Semi-Useful Links

Typically one takes all the non-comment lines originally put in their /etc/apt/sources.list, and replaces the hostname with mirror.csclub.uwaterloo.ca and adds the resulting lines at the front. Typiclally it appears that the release is specified explictly, e.g. lucid, precise, trusty, xenial (or non-LTS versions). However, a release of "stable" is allowed, which would appear to dynamically change the release considered over time.

The following claims to be for installing packages not in Ubuntu repositories. It ends up showing how to set up a "local mini-repository".

deb file:/usr/local/mydebs ./

In particular, see...

man dpkg-scanpackages

We have also observed the "trusty-backports" elements being put in more recent 14.04 installations, and think this is related to those installations running version 4 kernels while older more established hosts do not so automatically upgrade.

Information on standard filesystem hierarchy, related to creation of valid deb pkgs

really that belongs in one of the software-specific wikis.

Apparently https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Computer_science is sufficiently respected that this page has not got all sorts of "too technical", "too much like a manual entry" flags.

There should be man pages...

arpepper@cscfpcXX:/tmp/tztmp$ man -k deb-
deb-control (5)      - Debian packages' master control file format
deb-extra-override (5) - Debian archive extra override file
deb-old (5)          - old style Debian binary package format
deb-override (5)     - Debian archive override file
deb-shlibs (5)       - Debian shared library information file
deb-split (5)        - Debian multi-part binary package format
deb-src-control (5)  - Debian source packages' master control file format
deb-substvars (5)    - Debian source substitution variables
deb-symbols (5)      - Debian's extended shared library information file
deb-triggers (5)     - package triggers
deb-version (5)      - Debian package version number format
arpepper@cscfpcXX:/tmp/tztmp$ 

arpepper@cscfpcXX:~$ man -k dpkg-
dh_makeshlibs (1)    - automatically create shlibs file and call dpkg-gensymbols
dpkg-architecture (1) - set and determine the architecture for package building
dpkg-buildflags (1)  - returns build flags to use during package build
dpkg-buildpackage (1) - build binary or source packages from sources
dpkg-checkbuilddeps (1) - check build dependencies and conflicts
dpkg-deb (1)         - Debian package archive (.deb) manipulation tool
dpkg-distaddfile (1) - add entries to debian/files
dpkg-divert (8)      - override a package's version of a file
dpkg-genchanges (1)  - generate Debian .changes files
dpkg-gencontrol (1)  - generate Debian control files
dpkg-gensymbols (1)  - generate symbols files (shared library dependency info...
dpkg-maintscript-helper (1) - works around known dpkg limitations in maintain...
dpkg-mergechangelogs (1) - 3-way merge of debian/changelog files
dpkg-name (1)        - rename Debian packages to full package names
dpkg-parsechangelog (1) - parse Debian changelog files
dpkg-preconfigure (8) - let packages ask questions prior to their installation
dpkg-query (1)       - a tool to query the dpkg database
dpkg-reconfigure (8) - reconfigure an already installed package
dpkg-scanpackages (1) - create Packages index files
dpkg-scansources (1) - create Sources index files
dpkg-shlibdeps (1)   - generate shared library substvar dependencies
dpkg-source (1)      - Debian source package (.dsc) manipulation tool
dpkg-split (1)       - Debian package archive split/join tool
dpkg-statoverride (8) - override ownership and mode of files
dpkg-trigger (1)     - a package trigger utility
dpkg-vendor (1)      - queries information about distribution vendors
Dpkg::Changelog::Parse (3) - generic changelog parser for dpkg-parsechangelog
Dpkg::Control::Changelog (3) - represent info fields output by dpkg-parsechan...
Dpkg::Version (3)    - handling and comparing dpkg-style version numbers
arpepper@cscfpcXX:~$ 

Building debian packages, references git-buildpackage

There should be man pages (revisited) ...

After a while you realize the dh_ set of commands are fundamental to Debian packaging. But there are rather too many to usefully list here.

   arpepper@cscfpcXX:~$ man -k dh_ | wc
        91     799    5991
   arpepper@cscfpcXX:~$ man -k dh_ | grep '^dh_' | wc
        74     666    4980
   arpepper@cscfpcXX:~$ 

One command, dh_make command, creates a mockup of a debian (small letters) directory, which can be used as the basis for a source package. This is related to the DEBIAN directory needed for the dpkg-deb -b command, but different in many ways. For instance, the control file contains a superset of the information needed for the control file in the DEBIAN directory. (Notably, comments, and Build-Depends:).

I find dh_make confusingly named, because it does not do anything like the make compilation process. A confusing aspect of Debian source packaging is that whatever makefiles you would logically have seem to disappear into the source package file debian/rules.

Note that an architecture-independent package consisting of only interpreted scripts is still considered a binary package. (= "indep binary" =).

Similarly sloppiness seems to apply in the various commands to "build packages".

    dpkg-buildpackage (1) - build binary or source packages from sources
    debuild (1)          - build a Debian package
    dpkg-deb -b

dpkg and related command examples

Perhaps also see:

-- AdrianPepper - 2016-05-30

Topic revision: r12 - 2016-05-31 - AdrianPepper
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback