From 0effcf6df1b3ba2e186b19c8372d942516be14a4 Mon Sep 17 00:00:00 2001 From: David Adam Date: Thu, 2 Jul 2015 15:06:05 +0800 Subject: [PATCH] debian packaging: maintain in fish-shell tree Imported from https://github.com/zanchey/fish-build/ Work on #2020. Note that this is explicitly removed from `git archive` tarballs due to https://wiki.debian.org/UpstreamGuide#Pristine_Upstream_Source --- .gitattributes | 1 + debian/compat | 1 + debian/control | 31 ++++++++++ debian/copyright | 131 +++++++++++++++++++++++++++++++++++++++++++ debian/fish.doc-base | 12 ++++ debian/menu | 2 + debian/postinst | 47 ++++++++++++++++ debian/postrm | 37 ++++++++++++ debian/prerm | 46 +++++++++++++++ debian/rules | 25 +++++++++ debian/source/format | 1 + 11 files changed, 334 insertions(+) create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/fish.doc-base create mode 100644 debian/menu create mode 100644 debian/postinst create mode 100644 debian/postrm create mode 100644 debian/prerm create mode 100755 debian/rules create mode 100644 debian/source/format diff --git a/.gitattributes b/.gitattributes index 57cd0fd86..6ecc7e0bb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -18,4 +18,5 @@ /build_tools/osx_package_scripts/postinstall export-ignore /build_tools/make_pkg.sh export-ignore /build_tools/make_darcs_completions.fish export-ignore +/debian/* export-ignore diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..45a4fb75d --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +8 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..68f7aad22 --- /dev/null +++ b/debian/control @@ -0,0 +1,31 @@ +Source: fish +Section: shells +Priority: extra +Maintainer: ridiculous_fish +Uploaders: David Adam , Siteshwar Vashisht +Build-Depends: debhelper (>= 8.0.0), libncurses5-dev, autoconf, autotools-dev, dh-autoreconf, gettext +Standards-Version: 3.9.4 +Homepage: http://fishshell.com/ +Vcs-Git: git://github.com/fish-shell/fish-shell.git +Vcs-Browser: https://github.com/fish-shell/fish-shell + +Package: fish +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, passwd (>= 4.0.3-10), bc, gettext-base, man-db +Recommends: python (>=2.6), xsel (>=1.2.0) +Description: friendly interactive shell + Fish is a command-line shell for modern systems, focusing on user-friendliness, + sensibility and discoverability in interactive use. The syntax is simple, but + not POSIX compliant. + +Package: fish-dbg +Architecture: any +Section: debug +Priority: extra +Depends: fish (= ${binary:Version}), ${misc:Depends} +Description: debugging symbols for friendly interactive shell + Fish is a command-line shell for modern systems, focusing on user-friendliness, + sensibility and discoverability in interactive use. The syntax is simple, but + not POSIX compliant. + . + This package contains the debugging symbols for fish. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..db2a6dcfd --- /dev/null +++ b/debian/copyright @@ -0,0 +1,131 @@ +This work was packaged for Debian by David Adam +on Thu, 14 Jun 2012 20:33:34 +0800, based on work by James Vega +. + +It was downloaded from: + + https://github.com/fish-shell/fish-shell + +Upstream Authors: + + Axel Liljencrantz + ridiculous_fish + +Copyright: + + Copyright (C) 2005-2008 Axel Liljencrantz + Copyright (C) 2011-2012 ridiculous_fish + +License: + +Copyright (C) 2005-2008 Axel Liljencrantz + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1301, USA. + +On Debian systems, the complete text of the GNU General +Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +Fish contains code under the BSD license, namely versions of the +two functions strlcat and strlcpy, modified for use with wide +character strings. + + Copyright (c) 1998 Todd C. Miller + + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +The XSel command, written and copyrighted by Conrad Parker, is +distributed together with, and used by fish. It is released under the MIT +license. + + It is Copyright (C) 2001 Conrad Parker + + Permission to use, copy, modify, distribute, and sell this software + and its documentation for any purpose is hereby granted without fee, + provided that the above copyright notice appear in all copies and that + both that copyright notice and this permission notice appear in + supporting documentation. No representations are made about the + suitability of this software for any purpose. It is provided "as is" + without express or implied warranty. + +The xdgmime library, written and copyrighted by Red Hat, Inc, is used +by the mimedb command, which is a part of fish. It is released under +the LGPL license. + +The copyright for the xdgmime-related files belong to the following people +xdgmime.c + Copyright (C) 2003,2004 Red Hat, Inc. + Copyright (C) 2003,2004 Jonathan Blandford + +xdgmime.h + Copyright (C) 2003 Red Hat, Inc. + Copyright (C) 2003 Jonathan Blandford + +xdgmimealias.c, xdgmimealias.h + Copyright (C) 2004 Red Hat, Inc. + Copyright (C) 2004 Matthias Clasen + +xdgmimeglob.c, xdgmimeglob.h + Copyright (C) 2003 Red Hat, Inc. + Copyright (C) 2003 Jonathan Blandford + +xdgmimeint.c, xdgmimeint.h + Copyright (C) 2003 Red Hat, Inc. + Copyright (C) 2003 Jonathan Blandford + +xdgmimemagic.c, xdgmimemagic.h + Copyright (C) 2003 Red Hat, Inc. + Copyright (C) 2003 Jonathan Blandford + +xdgmimeparent.c, xdgmimeparent.h + Copyright (C) 2004 Red Hat, Inc. + Copyright (C) 2004 Matthias Clasen + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301, USA. + +Fish contains code from the glibc library, namely the wcstok function +in fallback.c. This code is licensed under the LGPL. + +On Debian systems, the complete text of the GNU Lesser General +Public License can be found in `/usr/share/common-licenses/LGPL'. + +The Debian packaging is: + + Copyright (C) 2005 James Vega + Copyright (C) 2012 David Adam + +and is licensed under the GPL version 2, see above. diff --git a/debian/fish.doc-base b/debian/fish.doc-base new file mode 100644 index 000000000..630b8563a --- /dev/null +++ b/debian/fish.doc-base @@ -0,0 +1,12 @@ +Document: fish +Title: Debian fish Manual +Author: Axel Liljencrantz +Abstract: This guide documents fish, a shell + geared towards interactive use. +Section: Shells + +Format: HTML +Index: /usr/share/doc/fish/index.html +Files: /usr/share/doc/fish/*.html + + diff --git a/debian/menu b/debian/menu new file mode 100644 index 000000000..ff443fd11 --- /dev/null +++ b/debian/menu @@ -0,0 +1,2 @@ +?package(fish):needs="text" section="Applications/Shells"\ + title="fish" command="/usr/bin/fish" diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 000000000..e7e205bf1 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,47 @@ +#!/bin/sh +# postinst script for fish +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +add_shell() { + if ! type add-shell > /dev/null 2>&1; then + return + fi + + add-shell /usr/bin/fish +} + +case "$1" in + configure) + add_shell + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/postrm b/debian/postrm new file mode 100644 index 000000000..b48530b7d --- /dev/null +++ b/debian/postrm @@ -0,0 +1,37 @@ +#!/bin/sh +# postrm script for fish +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/prerm b/debian/prerm new file mode 100644 index 000000000..ac2029b57 --- /dev/null +++ b/debian/prerm @@ -0,0 +1,46 @@ +#!/bin/sh +# prerm script for fish +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +remove_shell() { + if ! type remove-shell > /dev/null 2>&1; then + return + fi + + remove-shell /usr/bin/fish +} + +case "$1" in + remove|deconfigure) + remove_shell + ;; + + upgrade|failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..3936490c2 --- /dev/null +++ b/debian/rules @@ -0,0 +1,25 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +# dpkg-dev 1.16.1 doesn't export buildflags +# can be removed once on dh compat level 9 +DPKG_EXPORT_BUILDFLAGS = 1 +-include /usr/share/dpkg/buildflags.mk + +%: + dh $@ --with autotools-dev,autoreconf + +override_dh_auto_install: + dh_auto_install --destdir=debian/fish + +override_dh_installdocs: + dh_installdocs --link-doc=fish + +override_dh_strip: + dh_strip --dbg-package=fish-dbg + +# Don't run tests; they don't work until fish is installed +override_dh_auto_test: diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt)