From fa6396d6bf68b9a0154089146287245f9ad60a1e Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Wed, 25 Feb 2009 21:31:03 +0100 Subject: [PATCH 1/4] xsfbs: repack.sh needs to be executable --- debian/xsfbs/repack.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 debian/xsfbs/repack.sh diff --git a/debian/xsfbs/repack.sh b/debian/xsfbs/repack.sh old mode 100644 new mode 100755 From 4178d948cd66a938222d0d7c6353ee8d60229e40 Mon Sep 17 00:00:00 2001 From: David Nusinow Date: Mon, 25 May 2009 20:08:50 -0400 Subject: [PATCH 2/4] Add README.source --- debian/README.source | 73 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 debian/README.source diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..34ab4bf --- /dev/null +++ b/debian/README.source @@ -0,0 +1,73 @@ +------------------------------------------------------ +Quick Guide To Patching This Package For The Impatient +------------------------------------------------------ + +1. Make sure you have quilt installed +2. Unpack the package as usual with "dpkg-source -x" +3. Run the "patch" target in debian/rules +4. Create a new patch with "quilt new" (see quilt(1)) +5. Edit all the files you want to include in the patch with "quilt edit" + (see quilt(1)). +6. Write the patch with "quilt refresh" (see quilt(1)) +7. Run the "clean" target in debian/rules + +Alternatively, instead of using quilt directly, you can drop the patch in to +debian/patches and add the name of the patch to debian/patches/series. + +------------------------------------ +Guide To The X Strike Force Packages +------------------------------------ + +The X Strike Force team maintains X packages in git repositories on +git.debian.org in the pkg-xorg subdirectory. Most upstream packages +are actually maintained in git repositories as well, so they often +just need to be pulled into git.debian.org in a "upstream-*" branch. +Otherwise, the upstream sources are manually installed in the Debian +git repository. + +The .orig.tar.gz upstream source file could be generated this +"upstream-*" branch in the Debian git repository but it is actually +copied from upstream tarballs directly. + +Due to X.org being highly modular, packaging all X.org applications +as their own independent packages would have created too many Debian +packages. For this reason, some X.org applications have been grouped +into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils, +x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils. +Most packages, including the X.org server itself and all libraries +and drivers are, however maintained independently. + +The Debian packaging is added by creating the "debian-*" git branch +which contains the aforementioned "upstream-*" branch plus the debian/ +repository files. +When a patch has to be applied to the Debian package, two solutions +are involved: +* If the patch is available in one of the upstream branches, it + may be git'cherry-picked into the Debian repository. In this + case, it appears directly in the .diff.gz. +* Otherwise, the patch is added to debian/patches/ which is managed + with quilt as documented in /usr/share/doc/quilt/README.source. + +quilt is actually invoked by the Debian X packaging through a larger +set of scripts called XSFBS. XSFBS brings some other X specific +features such as managing dependencies and conflicts due to the video +and input driver ABIs. +XSFBS itself is maintained in a separate repository at + git://git.debian.org/pkg-xorg/xsfbs.git +and it is pulled inside the other Debian X repositories when needed. + +The XSFBS patching system requires a build dependency on quilt. Also +a dependency on $(STAMP_DIR)/patch has to be added to debian/rules +so that the XSFBS patching occurs before the actual build. So the +very first target of the build (likely the one running autoreconf) +should depend on $(STAMP_DIR)/patch. It should also not depend on +anything so that parallel builds are correctly supported (nothing +should probably run while patching is being done). And finally, the +clean target should depend on the xsfclean target so that patches +are unapplied on clean. + +When the upstream sources contain some DFSG-nonfree files, they are +listed in text files in debian/prune/ in the "debian-*" branch of +the Debian repository. XSFBS' scripts then take care of removing +these listed files during the build so as to generate a modified +DFSG-free .orig.tar.gz tarball. From 7deebf983f53c505bc25171ab77fdc408f250a6e Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Tue, 26 May 2009 15:58:19 +0200 Subject: [PATCH 3/4] xsfbs: don't run dpkg --print-installation-architecture This is deprecated in new dpkg, and had no users anyway. --- debian/xsfbs/xsfbs.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index 8840ff9..197eb74 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -57,8 +57,6 @@ EOF exit $SHELL_LIB_USAGE_ERROR fi -ARCHITECTURE="$(dpkg --print-installation-architecture)" - if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then RECONFIGURE="true" else From 8f72294ada477f003888b6776883c1dd98289f3f Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Wed, 3 Jun 2009 03:37:37 +0200 Subject: [PATCH 4/4] Kill custom readlink function This was needed for very, very old versions of debianutils. Closes: #498890 --- debian/xsfbs/xsfbs.sh | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index 197eb74..781826f 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -303,16 +303,6 @@ EOF fi } -# we require a readlink command or shell function -if ! which readlink > /dev/null 2>&1; then - message "The readlink command was not found. Please install version" \ - "1.13.1 or later of the debianutils package." - readlink () { - # returns what symlink in $1 actually points to - perl -e '$l = shift; exit 1 unless -l $l; $r = readlink $l; exit 1 unless $r; print "$r\n"' "$1" - } -fi - check_symlink () { # syntax: check_symlink symlink #