Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
patches
source
Makefile
README.source
changelog
compat
control
convert-debian-gcc-diff
convert-debian-gcc-diff_cmdline-4.5.3
convert-debian-gcc-diff_cmdline-4.6.3
copyright
copyright.old
cpp-BV-doc.doc-base.cpp
cpp-BV-doc.doc-base.cppint
cpp-BV-doc.docs
cpp-BV-doc.info
cpp-BV-doc.manpages
extract-doc-tarball-from-upstream
gbp.conf
gcc-BV-doc.doc-base.gcc
gcc-BV-doc.doc-base.gccint
gcc-BV-doc.docs
gcc-BV-doc.info
gcc-BV-doc.links
gcc-BV-doc.manpages
gcc-doc-base.manpages
gccgo-BV-doc.doc-base
gccgo-BV-doc.docs
gccgo-BV-doc.info
gccgo-BV-doc.manpages
gcj-BV-doc.doc-base
gcj-BV-doc.docs
gcj-BV-doc.info
gcj-BV-doc.manpages
gfortran-BV-doc.doc-base
gfortran-BV-doc.docs
gfortran-BV-doc.info
gfortran-BV-doc.manpages
gnat-BV-doc.doc-base.rm
gnat-BV-doc.doc-base.style
gnat-BV-doc.doc-base.ugn
gnat-BV-doc.docs
gnat-BV-doc.info
rules
texinfo.tex
texinfo.tex.sig
watch

README.source

This package provides documentation for Debian's GNU Compiler Collection
packages.

Problem is the documentation is GFDL-licensed, and does contain invariant
sections. This makes the documentation files undistributable by Debian.

Policy is to have only unmodified upstream files in .orig.tar.gz file.
Everything else is added in the debian source package files.

The .orig.tar.gz file is generated by a Python script which basically
greps through the upstream tarball for the documentation sources. This
has to be redone for *every* new upstream release.

The debian gcc-X.Y-doc-non-dfsg debian package adds a Makefile and debian
packaging files to that 'upstream' archive. Also, it applies several patches
on the 'upstream' files, for several reasons:
- Since Debian routinely carries multiple versions of GCC simultaneously,
  we rename the .info files so that they can coexist as well, which requires
  that cross-references be adjusted accordingly.
- Since Debian GCC differs from upstream GCC, some changes to documentation
  are needed as well.
- Sometimes additional patching is required to make documentation build from
  source.

Patches are managed using the "3.0 (quilt)" source format.  See
<http://wiki.debian.org/Projects/DebSrc3.0> for more information on
how to work with this source format.

Debian gcc maintainers kindly provide required documentation patches under
debin/gcc/patches/ directory in the debian gcc source package. This
information may be converted to patches for gcc-X.Y-doc-non-dfsg using
debian/convert-debian-gcc-diff perl script. For reference, each released
version of gcc-X.Y-doc-non-dfsg contains saved convert-debian-gcc-diff
command-line in convert-debian-gcc-diff_cmdline-{version} file.

If adding a new patch, better to name it starting from aNN (if it should
be applied before from-debian-gcc-* patches), or zNN (if it should be applied
after from-debian-gcc-* patches). Also better not to touch from-debian-gcc-*
patches by hand and use debian/convert-debian-gcc-diff script instead.

Updating to a new upstream release includes the following steps:

- Create a changelog entry with the new version number and package
  name.
- If updating to a new X.Y release, bump the version numbers in
  debian/watch and debian/gbp.conf accordingly.
- Run "debian/rules get-orig-source", which will generate the new
  .orig.tar.gz from the upstream tarball using the
  debian/extract-doc-tarball-from-upstream script.
- Switch to the new upstream tarball, preferably using
  git-import-orig(1).  (You'll have to stash any uncommitted changes.)
- Update debian/Makefile to build any newly-referenced documents,
  and the various <package>.{docs,doc-base.*,info,links,manpages}
  files to install and register them appropriately.
- Also follow the instructions below for syncing with a new Debian package
  release.
- If updating to a new X.Y release, you must also rename all packages
  in debian/control whose names should contain X.Y,

Syncing against a new Debian package release includes the following steps:
- check what .texi files are modified by patches from debian gcc source
  package; don't forget that:
  - if .texi modification is in the same patch file as other modifications,
    it will be commented out (because .texi files are not there in debian
    version of gcc source) - however uncommenting will be handled by
    debian/convert-debian-gcc-diff script
  - not all patches from debian/patches/ are applied to debian packages,
    have to check build scripts to find out what is applied and what is not
    (some of this information is included in the
    /usr/share/doc/gcc-X.Y-base/README.Debian.<arch>.gz file provided by the
    gcc-X.Y-base package, but this will miss architecture-specific patches that
    don't apply to the <arch> architecture),
- construct a new debian/convert-debian-gcc-diff command line and execute it,
- replace saved debian/convert-debian-gcc-diff command line with the new one,
- check that package builds without any warnings! if not, find out what's
  wrong and fix it.

It would be good to check the links in the HTML files from time to
time.  Something like the following zsh command might be useful for
this:

% checklink $((for i in $(dcmd --deb gcc-4.6-doc_4.6.3-1\~naesten6_i386.changes); dpkg-deb --fsys-tarfile $i) | tar -ti | grep '\.html$' | cut -c2-) > gcc-4.6-doc.checklink.txt

(Note that checklink comes from the w3c-linkchecker package.)

 -- Samuel Bronson <naesten@gmail.com>, Fri, 30 Mar 2012 13:55:06 -0400
 -- Nikita V. Youshchenko <yoush@debian.org>, Sun, 28 Sep 2008 19:40:54 +0400
Something went wrong with that request. Please try again.