TWiki
>
Main Web
>
TWikiUsers
>
AdrianPepper
>
AdrianPepperDebianUbuntuAptRepositoryInfo
(2016-05-31,
AdrianPepper
)
(raw view)
E
dit
A
ttach
---+ Observations Regarding Debian/Ubuntu Apt Repository Access <!-- * Set EDITMETHOD = raw --> %TOC% ---++ A useful but old link * http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO * "ar tv" is the fundamental tool for examining a .deb file. ---++ Good old wikipedia... * https://en.wikipedia.org/wiki/Deb_%28file_format%29 * http://packaging.ubuntu.com/html/debian-dir-overview.html * _The description of *rules* in the latter is not as helpful as one might like._ * https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html * Finally something explaining how rules is supposed to work. ---++ Semi-Useful Links * https://wiki.debian.org/SourcesList seems like canonical documentation. (pun?) * https://debian-handbook.info/browse/stable/apt.html * https://help.ubuntu.com/community/Repositories/CommandLine 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". * https://help.ubuntu.com/community/Repositories/Personal %TABLE{tableborder="0" cellpadding="10" databg="#EDDBCB" }% |\ deb file:/usr/local/mydebs ./ \ | In particular, see... %TABLE{tableborder="0" cellpadding="10" databg="#EDDBCB" }% |\ 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 * https://en.wikipedia.org/wiki/Unix_filesystem#Conventional_directory_layout 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... <tt><pre> 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$ </pre></tt> <tt><pre> 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:~$ </pre></tt> ---++ Building debian packages, references git-buildpackage * https://www.debian.org/doc/manuals/maint-guide/build.en.html#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. <verbatim> arpepper@cscfpcXX:~$ man -k dh_ | wc 91 799 5991 arpepper@cscfpcXX:~$ man -k dh_ | grep '^dh_' | wc 74 666 4980 arpepper@cscfpcXX:~$ </verbatim> 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:=). * https://debian-handbook.info/browse/stable/sect.building-first-package.html 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". <verbatim> dpkg-buildpackage (1) - build binary or source packages from sources debuild (1) - build a Debian package </verbatim> <verbatim> dpkg-deb -b </verbatim> ---++ dpkg and related command examples * [[CF.UbuntuDpkgApt]] Perhaps also see: * http://www.tecmint.com/dpkg-command-examples/ * [[http://www.tecmint.com/useful-basic-commands-of-apt-get-and-apt-cache-for-package-management/][similar for apt]] * [[http://blog.packagecloud.io/eng/2015/10/13/inspect-extract-contents-debian-packages/][blog.packagecloud.io post]] -- Main.AdrianPepper - 2016-05-30
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r12
<
r11
<
r10
<
r9
<
r8
|
B
acklinks
|
V
iew topic
|
WYSIWYG
|
M
ore topic actions
Topic revision: r12 - 2016-05-31
-
AdrianPepper
Main
Welcome TWikiGuest
Register
Log in
Main Web
Main Web Home
Users
Groups
Offices
Changes
Changes detailed
Topic list
Search
TWiki Webs
CSEveryBody
AIMAS
CERAS
CF
CrySP
External
Faqtest
HCI
Himrod
ISG
Main
Multicore
Sandbox
TWiki
TestNewSandbox
TestWebS
UW
My links
People
CERAS
WatForm
Tetherless lab
Ubuntu HowTo
eDocs
RGG NE notes
RGG
CS infrastructure
Grad images
Edit
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback