devscripts - scripts to ease the lives of Debian developers
The devscripts package provides a collection of scripts which may be of use to Debian developers and others wishing to build Debian packages. For a summary of the available scripts, please see the file /usr/share/doc/devscripts/README.gz, and for full details, please see the individual manpages. They are contributed by multiple developers; for details of the authors, please see the code or manpages. Also, the directory /usr/share/doc/devscripts/examples contains examples of procmail and exim scripts for sorting mail arriving to Debian mailing lists.
Several scripts of the devscripts suite use the following environment variables. Check the man pages of individual scripts for more details on how the variables are used. DEBEMAIL Email of the person acting on a given Debian package via devscripts. DEBFULLNAME Full name (first + family) of the person acting on a given Debian package via devscripts.
Here is the complete list of available devscripts. See their man pages for additional documentation. annotate-output(1) run a command and prepend time and stream (O for stdout, E for stderr) for every line of output archpath(1) print tla/Bazaar package names [tla | bazaar] bts(1) a command-line tool for manipulating the BTS [www-browser, libauthen-sasl-perl, libnet-smtp-ssl-perl, libsoap-lite-perl, liburi-perl, libwww-perl, bsd-mailx | mailx] build-rdeps(1) search for all packages that build-depend on a given package [dctrl-tools, dose-extra] chdist(1) tool to easily play with several distributions [dctrl-tools] checkbashisms(1) check whether a /bin/sh script contains any common bash-specific constructs cowpoke(1) upload a Debian source package to a cowbuilder host and build it, optionally also signing and uploading the result to an incoming queue [ssh-client] cvs-debi, cvs-debc(1) wrappers around debi and debc respectively (see below) which allow them to be called from the CVS working directory [cvs- buildpackage] cvs-debrelease(1) wrapper around debrelease which allows it to be called from the CVS working directory [cvs-buildpackage, dupload | dput, ssh- client] cvs-debuild(1) wrapper for cvs-buildpackage to use debuild as its package building program [cvs-buildpackage, fakeroot, lintian, gnupg | gnupg2] dcmd(1) run a given command replacing the name of a .changes or .dsc file with each of the files referenced therein dcontrol(1) remotely query package and source control files for all Debian distributions [liburl-perl, libwww-perl] dd-list(1) given a list of packages, pretty-print it ordered by maintainer debc(1) display the contents of just-built .debs debchange/dch(1) automagically add entries to debian/changelog files [libdistro- info-perl, libsoap-lite-perl] debcheckout(1) checkout the development repository of a Debian package debclean(1) clean a Debian source tree [fakeroot] debcommit(1) commit changes to cvs, darcs, svn, svk, tla, bzr, git, or hg, basing commit message on changelog [cvs | darcs | subversion | svk | tla | bzr | git-core | mercurial, libtimedate-perl] debdiff(1) compare two versions of a Debian package to check for added and removed files. Use the diffoscope package for deep comparisons. [wdiff, patchutils] debi(1) install a just-built package debpkg(1) dpkg wrapper to be able to manage/test packages without su debrelease(1) wrapper around dupload or dput [dupload | dput, ssh-client] debsign, debrsign(1) sign a .changes/.dsc pair without needing any of the rest of the package to be present; can sign the pair remotely or fetch the pair from a remote machine for signing [gnupg | gnupg2, debian- keyring, ssh-client] debsnap(1) grab packages from http://snapshot.debian.org [libwww-perl] debuild(1) wrapper to build a package without having to su or worry about how to invoke dpkg to build using fakeroot. Also deals with common environment problems, umask etc. [fakeroot, lintian, gnupg | gnupg2] deb-reversion(1) increase a binary package version number and repacks the package, useful for porters and the like dep3changelog(1) generate a changelog entry from a DEP3-style patch header desktop2menu(1) given a freedesktop.org desktop file, generate a skeleton for a menu file [libfile-desktopentry-perl] dget(1) download Debian source and binary packages [wget | curl] diff2patches(1) extract patches from a .diff.gz file placing them under debian/ or, if present, debian/patches [patchutils] dpkg-depcheck, dpkg-genbuilddeps(1) determine the packages used during the build of a Debian package; useful for determining the Build-Depends control field needed [build-essential, strace] dscextract(1) extract a single file from a Debian source package [patchutils] dscverify(1) verify the integrity of a Debian package from the .changes or .dsc files [gnupg | gnupg2, debian-keyring, libdigest-md5-perl] edit-patch(1) add/edit a patch for a source package and commit the changes [quilt | dpatch | cdbs] getbuildlog(1) download package build logs from Debian auto-builders [wget] grep-excuses(1) grep the update_excuses.html file for your packages [libterm- size-perl, wget, w3m] list-unreleased(1) search for unreleased packages manpage-alert(1) locate binaries without corresponding manpages [man-db] mass-bug(1) mass-file bug reports [bsd-mailx | mailx] mergechanges(1) merge .changes files from the same release but built on different architectures mk-build-deps(1) given a package name and/or control file, generate a binary package which may be installed to satisfy the build-dependencies of the given package [equivs] mk-origtargz(1) rename upstream tarball, optionally changing the compression and removing unwanted files [unzip, xz-utils, file] namecheck(1) check project names are not already taken nmudiff(1) mail a diff of the current package against the previous version to the BTS to assist in tracking NMUs [patchutils, mutt] origtargz(1) fetch the orig tarball of a Debian package from various sources, and unpack it plotchangelog(1) view a nice plot of the data in a changelog file [libtimedate- perl, gnuplot] pts-subscribe(1) subscribe to the PTS for a limited period of time [bsd-mailx | mailx, at] rc-alert(1) list installed packages which have release-critical bugs [wget | curl] rmadison(1) remotely query the Debian archive database about packages [liburi-perl, wget | curl] sadt(1) run DEP-8 tests [python3-debian] suspicious-source(1) output a list of files which are not common source files [python3-magic] svnpath(1) print Subversion repository paths [subversion] tagpending(1) run from a Debian source tree and tag bugs that are to be closed in the latest changelog as pending [libsoap-lite-perl] transition-check(1) check a list of source packages for involvement in transitions for which uploads to unstable are currently blocked [libwww- perl, libyaml-syck-perl] uscan(1) scan upstream sites for new releases of packages [gpgv | gpgv2, gnupg |gnupg2, liblwp-protocol-https-perl, libwww-perl, unzip, xz-utils, file] uupdate(1) integrate upstream changes into a source package [patch] what-patch(1) determine what patch system, if any, a source package is using [patchutils] whodepends(1) check which maintainers' packages depend on a package who-uploads(1) determine the most recent uploaders of a package to the Debian archive [gnupg | gnupg2, debian-keyring, debian-maintainers, wget] wnpp-alert(1) list installed packages which are orphaned or up for adoption [wget | curl] wnpp-check(1) check whether there is an open request for packaging or intention to package bug for a package [wget | curl] who-permits-upload(1) Retrieve information about Debian Maintainer access control lists [gnupg | gnupg2, libencode-locale-perl, libwww-perl, debian-keyring] wrap-and-sort(1) wrap long lines and sort items in packaging files [python3-debian]
Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.
Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.
Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.
Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.
The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.
Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.
Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.
Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.