Package: flex
Version: 2.6.1-1
Tags: patch
User: helm...@debian.org
Usertags: rebootstrap
Control: affects -1 + src:3dldf src:a2ps src:abiword src:acedb src:acpica-unix 
src:acsccid src:aegis src:afterstep src:aide src:alliance src:am-utils 
src:amanda src:anjuta src:apertium src:apparmor src:aqsis src:argus 
src:argus-clients src:asn1c src:asymptote src:at src:autofs src:avrdude 
src:ayttm src:ball src:bandwidthd src:basic256 src:bc src:bibtexconv src:binpac 
src:binutils src:binutils-arm-none-eabi src:binutils-avr src:binutils-h8300-hms 
src:binutils-m68hc1x src:binutils-mingw-w64 src:binutils-msp430 
src:binutils-z80 src:bip src:bird src:bluez src:bochs src:boost1.58 
src:boost1.61 src:boxes src:bro src:bro-aux src:broccoli src:brutefir 
src:bsdgames src:buici-clock src:canl-c src:captagent src:casacore src:cbmc 
src:cc1111 src:ccbuild src:ccid src:cdecl src:cfengine2 src:cfengine3 
src:charybdis src:checkpolicy src:chemeq src:chromium-browser src:chuck 
src:citus src:claws-mail src:cluster-glue src:code-saturne src:collectd 
src:comedilib src:confetti src:conntrack-tools src:contextfree src:covered 
src:cp2k src:cproto src:crash src:crawl src:creduce src:cross-binutils 
src:crossfire src:cscope src:csound src:csync2 src:ctn src:ctwm src:cuetools 
src:cvc3 src:cvs-fast-export src:cvsgraph src:cwiid src:cxref src:cyrus-imapd 
src:dante src:daq src:dateutils src:dawg src:ddd src:delta src:detox 
src:device-tree-compiler src:dicelab src:dictd src:digikam src:dma src:doxygen 
src:dpkg src:dpuser src:drbd-utils src:dreamchess src:dvdauthor src:dx 
src:eclipse-titan src:eegdev src:elfutils src:erlang src:esmtp src:ettercap 
src:eukleides src:extsmail src:faucc src:fauhdlc src:faumachine src:faust 
src:fbset src:fdm src:fdutils src:filtergen src:filters src:fim src:flasm 
src:flexml src:flobopuyo src:flow-tools src:foma src:fped 
src:freebsd-buildutils src:freefem++ src:freefoam src:freehdl src:fuse-emulator 
src:fwlogwatch src:galculator src:gcc-3.3 src:gcc-5 src:gcc-5-cross 
src:gcc-5-cross-ports src:gcc-6 src:gcc-6-cross src:gcc-6-cross-ports 
src:gcc-arm-none-eabi src:gcc-avr src:gcc-h8300-hms src:gcc-m68hc1x 
src:gcc-mingw-w64 src:gcc-msp430 src:gcc-snapshot src:gdb src:gdb-arm-none-eabi 
src:gdb-avr src:gdb-mingw-w64 src:gdb-msp430 src:gecode src:geda-gaf 
src:genders src:gengetopt src:genius src:genparse src:geomview src:gfs2-utils 
src:ghemical src:glhack src:glusterfs src:gmediaserver src:gnat-mingw-w64 
src:gnats src:gnokii src:gnubg src:gnuift src:gnumeric src:gob2 
src:gobject-introspection src:goldencheetah src:gpick src:gpsim src:gputils 
src:gr-iio src:gradm2 src:gramophone2 src:grap src:graphviz src:grass 
src:gregorio src:grib-api src:grok src:grub2 src:gsoap 
src:gstreamer-editing-services1.0 src:gstreamer1.0 src:gthumb src:gtkpod 
src:gtkwave src:guile-2.0 src:gutenprint src:heartbeat src:heimdal src:hfst 
src:hhvm src:hp48cc src:hpsockd src:ht src:htdig src:html-xml-utils src:hurd 
src:hwinfo src:icinga2 src:ifmail src:ike src:imagevis3d src:inn2 src:intercal 
src:ippl src:iproute2 src:ipsec-tools src:iptables src:ircd-hybrid 
src:ircd-ircu src:isc-kea src:iverilog src:jack-tools src:jaula src:java2html 
src:jbofihe src:jq src:kamailio src:kbd src:kbd-chooser src:kbuild src:kde4libs 
src:kdevelop-pg-qt src:kfreebsd-10 src:knot src:krb5-auth-dialog src:kservice 
src:latrace src:lcmaps src:ldm src:lfhex src:libaacs src:libapache2-mod-nss 
src:libbonobo src:libcgroup src:libdap src:libdvbcsa src:libewf src:libg3d 
src:libghemical src:libguestfs src:libhdf4 src:libidl src:libiio 
src:libmatheval src:libnl3 src:libpcap src:librcsb-core-wrapper src:libreoffice 
src:librostlab-blast src:librsl src:libsemanage src:libsepol src:libsieve 
src:libsmi src:libtrace3 src:libvc src:libverilog-perl src:libxaw3dxft 
src:libxkbcommon src:libzdb src:libzerg src:lilypond src:linux src:linux-atm 
src:linux-grsec src:linuxdoc-tools src:lldpad src:llvm-toolchain-3.5 
src:llvm-toolchain-3.6 src:llvm-toolchain-3.7 src:llvm-toolchain-3.8 
src:llvm-toolchain-3.9 src:llvm-toolchain-snapshot src:lm-sensors 
src:lowpan-tools src:ltsp src:lttoolbox src:lwatch src:lyskom-server 
src:mailfilter src:mailutils src:mairix src:man-db src:maria src:maude src:mccs 
src:mdbtools src:mdk src:mesa src:metview src:mgp src:miller 
src:milter-greylist src:minc-tools src:ming src:minizinc src:mira src:mmh 
src:mmorph src:mona src:motif src:mpqc src:mscgen src:mswatch src:mwrap 
src:mysql-workbench src:nagios-plugins-contrib src:nas src:ncl src:nco 
src:nethack src:netpbm-free src:netsniff-ng src:netsurf src:nfdump src:nftables 
src:nip2 src:nmap src:nmh src:nqc src:ns3 src:nsd src:nufw src:octave src:ola 
src:olsrd src:open-cobol src:open-iscsi src:openafs src:opencryptoki 
src:openjfx src:openmama src:opennebula src:opensc src:openscad src:opensips 
src:opensm src:openturns src:openuniverse src:orafce src:pajeng src:pam src:pcb 
src:pcmciautils src:pcp src:pcsc-lite src:pdns src:pgpool2 src:php5 src:php7.0 
src:picviz src:pipenightdreams src:plan src:plotutils src:poc-streamer 
src:postgis src:postgresql-9.5 src:postgresql-9.6 src:postgresql-plproxy 
src:postgresql-unit src:potool src:pretzel src:prime-phylo src:pscan 
src:psicode src:ptlib src:pvrg-jpeg src:pyg src:python-biopython src:qgis 
src:qt4-x11 src:qtwebkit src:qtwebkit-opensource-src src:radare2 src:radvd 
src:ragel src:rcs-blame src:rdkit src:remem src:rheolef src:rlinetd src:routino 
src:rustc src:samba src:scotch src:sdcc src:setools src:sfst 
src:similarity-tester src:sip4 src:sketch src:slashem src:sloccount 
src:slony1-2 src:snacc src:snort src:solid src:sollya src:spark src:spim 
src:splint src:squidguard src:srg src:sshguard src:strongswan src:sudo 
src:surf-alggeo src:swftools src:sylpheed src:synopsis src:syslog-ng 
src:syslog-ng-incubator src:tacacs+ src:tagcoll2 src:taopm src:tcm src:tcpspy 
src:tcpxtract src:telepathy-logger-qt src:texlive-bin src:thrift-compiler 
src:tinyproxy src:tiptop src:tkgate src:trafficserver src:tth src:tvoe 
src:twinkle src:twm src:ug src:unbound src:undertaker src:units-filter 
src:urjtag src:usepackage src:vala src:verilator src:videogen src:vips 
src:virtuoso-opensource src:vtun src:vtwm src:warzone2100 src:wcalc src:wcslib 
src:webkit2gtk src:webkitgtk src:whitedune src:wide-dhcpv6 src:wims src:wine 
src:wine-development src:wireshark src:wordnet src:xaw3d src:xindy src:xjobs 
src:xmlindent src:xorg-server src:xorp src:xpaint src:xshogi src:xview 
src:xxdiff src:yosys src:zimpl src:ziproxy src:zmap 

Hi Manoj,

Earlier this year, you removed Multi-Arch: foreign from flex, because it
was wrong as discussed in #761449. However simply removing it is not
useful, because now cross builds will install the host architecture flex
and fail executing it. In bug #761149, I posted a rearrangement of the
flex packaging that would make cross building just work at the expense
of being not intuitive. You proposed to drop flex dependency on
libfl-dev instead (which would allow marking it M-A:foreign again) and I
investigated[1] which packages would need changes. You announced doing a
MBF for those changes, but it seems that those bugs never arrived.

So now we have a flex that is broken for cross building in the archive.
How do we fix that? It would be a pity to release stretch without being
able to use flex for cross builds.

One option is to actually do the MBF and proceed with your plan
(although it seems to be a little late for that) and the other option is
to just use the patch I originally sent to #761149. I am attaching a
rebased version of it and tested that it still works.

Can we please find a solution to this as it breaks very many packages
close to the base system?

Helmut

[1] https://lists.debian.org/debian-cross/2016/02/msg00037.html
[2] https://lists.debian.org/debian-devel/2016/03/msg00162.html
diff -Nru flex-2.5.39/debian/changelog flex-2.5.39/debian/changelog
--- flex-2.5.39/debian/changelog        2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/changelog        2014-09-13 20:19:34.000000000 +0200
@@ -1,3 +1,13 @@
+flex (2.6.1-1.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Fix multi-arch flex. (Closes: #-1)
+    + Rename flex to flex-bin.
+    + Rename libfl-dev to flex.
+    + flex Depends flex-bin.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Sat, 13 Sep 2014 20:18:33 +0200
+
 flex (2.6.1-1) unstable; urgency=low
 
   * New upstream version. The development of flex ias transitionaing to
diff -Nru flex-2.5.39/debian/control flex-2.5.39/debian/control
--- flex-2.5.39/debian/control  2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/control  2014-09-13 20:10:16.000000000 +0200
@@ -10,11 +10,13 @@
 Maintainer: Manoj Srivastava <sriva...@debian.org>
 Standards-Version: 3.9.5
 
-Package: flex
+Package: flex-bin
 Architecture: any
 Pre-Depends: debconf | debconf-2.0
-Depends: ${shlibs:Depends}, m4, libfl-dev (= ${binary:Version}),
+Depends: ${shlibs:Depends}, m4,
          dpkg (>= 1.15.4) |  install-info, ${misc:Depends}
+Breaks: flex (<< 2.6.1-1.1)
+Replaces: flex (<< 2.6.1-1.1)
 Recommends: gcc | c-compiler
 Suggests: bison, build-essential
 Multi-Arch: foreign
@@ -27,6 +29,9 @@
  and linked with the -lfl library to produce an executable. When the
  executable is run, it analyzes its input for occurrences of the regular
  expressions. Whenever it finds one, it executes the corresponding C code.
+ .
+ This package actually contains the flex executable, but you should install
+ flex instead.
 
 Package: flex-doc
 Section: doc
@@ -44,13 +49,13 @@
  .
  This package contains the HTML documentation for flex.
 
-Package: libfl-dev
-Section: libdevel
+Package: flex
 Architecture: any
 Multi-Arch: same
-Depends: ${misc:Depends}, ${shlibs:Depends}
-Replaces: flex (<< 2.5.39), flex-old (<= 2.5.4a-10)
-Breaks: flex (<< 2.5.39), flex-old (<= 2.5.4a-10)
+Depends: ${misc:Depends}, ${shlibs:Depends}, flex-bin (= ${binary:Version})
+Replaces: flex (<< 2.5.39), flex-old (<= 2.5.4a-10), libfl-dev (<< 2.6.1-1.1)
+Breaks: flex (<< 2.5.39), flex-old (<= 2.5.4a-10), libfl-dev (<< 2.6.1-1.1)
+Provides: libfl-dev
 Description: static library for flex (a fast lexical analyzer generator)
  Flex is a tool for generating scanners: programs which recognized lexical
  patterns in text. It reads the given input files for a description of a
diff -Nru flex-2.5.39/debian/flex-bin.info flex-2.5.39/debian/flex-bin.info
--- flex-2.5.39/debian/flex-bin.info    1970-01-01 01:00:00.000000000 +0100
+++ flex-2.5.39/debian/flex-bin.info    2014-06-21 06:01:27.000000000 +0200
@@ -0,0 +1,3 @@
+doc/flex.info
+doc/flex.info-1
+doc/flex.info-2
diff -Nru flex-2.5.39/debian/flex-bin.install 
flex-2.5.39/debian/flex-bin.install
--- flex-2.5.39/debian/flex-bin.install 1970-01-01 01:00:00.000000000 +0100
+++ flex-2.5.39/debian/flex-bin.install 2014-09-13 23:22:35.000000000 +0200
@@ -0,0 +1,2 @@
+debian/tmp/share/locale usr/share
+debian/tmp/bin   usr
diff -Nru flex-2.5.39/debian/flex-bin.links flex-2.5.39/debian/flex-bin.links
--- flex-2.5.39/debian/flex-bin.links   1970-01-01 01:00:00.000000000 +0100
+++ flex-2.5.39/debian/flex-bin.links   2014-06-21 06:01:27.000000000 +0200
@@ -0,0 +1,3 @@
+usr/bin/flex    usr/bin/lex
+usr/share/man/man1/flex.1.gz usr/share/man/man1/flex++.1.gz
+usr/share/man/man1/flex.1.gz usr/share/man/man1/lex.1.gz
diff -Nru flex-2.5.39/debian/flex-bin.manpages 
flex-2.5.39/debian/flex-bin.manpages
--- flex-2.5.39/debian/flex-bin.manpages        1970-01-01 01:00:00.000000000 
+0100
+++ flex-2.5.39/debian/flex-bin.manpages        2014-06-21 06:01:27.000000000 
+0200
@@ -0,0 +1 @@
+doc/flex.1
diff -Nru flex-2.5.39/debian/flex-bin.postinst 
flex-2.5.39/debian/flex-bin.postinst
--- flex-2.5.39/debian/flex-bin.postinst        1970-01-01 01:00:00.000000000 
+0100
+++ flex-2.5.39/debian/flex-bin.postinst        2014-06-21 06:01:27.000000000 
+0200
@@ -0,0 +1,226 @@
+#! /bin/sh
+#                           -*- Mode: Sh -*-
+# postinst ---
+# Author           : Manoj Srivastava ( sriva...@glaurung.green-gryphon.com )
+# Created On       : Fri Nov 14 11:25:07 2003
+# Created On Node  : glaurung.green-gryphon.com
+# Last Modified By : Manoj Srivastava
+# Last Modified On : Thu Dec  4 02:36:10 2003
+# Last Machine Used: glaurung.green-gryphon.com
+# Update Count     : 13
+# Status           : Unknown, Use with caution!
+# HISTORY          :
+# Description      :
+#
+# arch-tag: 5401e9ef-39cc-4aee-96a4-61dfb8f32cf7
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#
+#
+
+# Abort if any command returns an error value
+set -e
+
+package_name=flex
+
+if [ -z "$package_name" ]; then
+    print >&2 "Internal Error. Please report a bug."
+    exit 1;
+fi
+
+# This script is called as the last step of the installation of the
+# package.  All the package's files are in place, dpkg has already done
+# its automatic conffile handling, and all the packages we depend of
+# are already fully installed and configured.
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+# quoting from the policy:
+#     Any necessary prompting should almost always be confined to the
+#     post-installation script, and should be protected with a conditional
+#     so that unnecessary prompting doesn't happen if a package's
+#     installation fails and the `postinst' is called with `abort-upgrade',
+#     `abort-remove' or `abort-deconfigure'.
+
+# The following idempotent stuff doesn't generally need protecting
+# against being run in the abort-* cases.
+
+# Create stub directories under /usr/local
+##: if test ! -d /usr/local/lib/${package_name}; then
+##:   if test ! -d /usr/local/lib; then
+##:     if mkdir /usr/local/lib; then
+##:       chown root.staff /usr/local/lib || true
+##:       chmod 2775 /usr/local/lib || true
+##:     fi
+##:   fi
+##:   if mkdir /usr/local/lib/${package_name}; then
+##:     chown root.staff /usr/local/lib/${package_name} || true
+##:     chmod 2775 /usr/local/lib/${package_name} || true
+##:   fi
+##: fi
+
+# Ensure the menu system is updated
+##: [ ! -x /usr/bin/update-menus ] || /usr/bin/update-menus
+
+# Arrange for a daemon to be started at system boot time
+##: update-rc.d ${package_name} default >/dev/null
+
+# This package uses debconf to ask a question, so source the debconf
+# confmodule as early as possible. However, it does not depend on debconf,
+# so debconf may not be installed.
+#################################################
+# if [ -e /usr/share/debconf/confmodule ]; then #
+#         . /usr/share/debconf/confmodule       #
+#         db_capb                               #
+# fi                                            #
+#################################################
+
+case "$1" in
+  configure)
+    # Configure this package.  If the package must prompt the user for
+    # information, do it here.
+    # Install emacs lisp files
+    ##:if [ -x  /usr/lib/emacsen-common/emacs-package-install ]; then
+    ##:    /usr/lib/emacsen-common/emacs-package-install $package_name
+    ##:fi
+
+
+    # Activate menu-methods script
+    ##: chmod a+x /etc/menu-methods/${package_name}
+
+    # Update ld.so cache
+    ##: ldconfig
+
+    # Make our version of a program available
+    ##: update-alternatives \
+    ##:       --install /usr/bin/program program /usr/bin/alternative 50 \
+    ##:       --slave /usr/man/man1/program.1.gz program.1.gz \
+    ##:               /usr/man/man1/alternative.1.gz
+
+    # Tell ucf that the file in /usr/share/foo is the latest
+    # maintainer version, and let it handle how to manage the real
+    # confuguration file in /etc. This is how a static configuration
+    # file can be handled:
+    ##:if which ucf >/dev/null 2>&1; then
+    ##:  ucf /usr/share/${package_name}/configuration /etc/${package_name}.conf
+    ##:fi
+
+    ### We could also do this on the fly. The following is from Tore
+    ### Anderson:
+
+    #. /usr/share/debconf/confmodule
+
+    ### find out what the user answered.
+    #  db_get foo/run_on_boot
+    #  run_on_boot=$RET
+    #  db_stop
+
+    ### safely create a temporary file to generate our suggested
+    ### configuration file.
+    #    tempfile=`tempfile`
+    #    cat << _eof > $tempfile
+    ### Configuration file for Foo.
+
+    ### this was answered by you, the user in a debconf dialogue
+    #  RUNONBOOT=$run_on_boot
+
+    ### this was not, as it has a sane default value.
+    #  COLOUROFSKY=blue
+
+    #_eof
+
+    ### Note that some versions of debconf do not release stdin, so
+    ### the following invocation of ucf may not work, since the stdin
+    ### is never coneected to ucfr.
+
+    ### now, invoke ucf, which will take care of the rest, and ask
+    ### the user if he wants to update his file, if it is modified.
+    #ucf $tempfile /etc/foo.conf
+
+    ### done! now we'll just clear up our cruft.
+    #rm -f $tempfile
+
+
+
+    # There are three sub-cases:
+    if test "${2+set}" != set; then
+      # We're being installed by an ancient dpkg which doesn't remember
+      # which version was most recently configured, or even whether
+      # there is a most recently configured version.
+      :
+
+    elif test -z "$2" || test "$2" = "<unknown>"; then
+      # The package has not ever been configured on this system, or was
+      # purged since it was last configured.
+      :
+
+    else
+      # Version $2 is the most recently configured version of this
+      # package.
+      :
+
+    fi ;;
+  abort-upgrade)
+    # Back out of an attempt to upgrade this package FROM THIS VERSION
+    # to version $2.  Undo the effects of "prerm upgrade $2".
+    :
+
+    ;;
+  abort-remove)
+    if test "$2" != in-favour; then
+      echo "$0: undocumented call to \`postinst $*'" 1>&2
+      exit 0
+    fi
+    # Back out of an attempt to remove this package, which was due to
+    # a conflict with package $3 (version $4).  Undo the effects of
+    # "prerm remove in-favour $3 $4".
+    :
+
+    ;;
+  abort-deconfigure)
+    if test "$2" != in-favour || test "$5" != removing; then
+      echo "$0: undocumented call to \`postinst $*'" 1>&2
+      exit 0
+    fi
+    # Back out of an attempt to deconfigure this package, which was
+    # due to package $6 (version $7) which we depend on being removed
+    # to make way for package $3 (version $4).  Undo the effects of
+    # "prerm deconfigure in-favour $3 $4 removing $6 $7".
+    :
+
+    ;;
+  *) echo "$0: didn't understand being called with \`$1'" 1>&2
+     exit 0;;
+esac
+
+# Install doc base documentation
+##:if which install-docs >/dev/null 2>&1; then
+##:  if [ -e /usr/share/doc-base/${package_name} ]; then
+##:    install-docs -i /usr/share/doc-base/${package_name}
+##:  fi
+##:fi
+
+#DEBHELPER#
+
+
+exit 0
diff -Nru flex-2.5.39/debian/flex-bin.prerm flex-2.5.39/debian/flex-bin.prerm
--- flex-2.5.39/debian/flex-bin.prerm   1970-01-01 01:00:00.000000000 +0100
+++ flex-2.5.39/debian/flex-bin.prerm   2014-06-21 06:01:27.000000000 +0200
@@ -0,0 +1,128 @@
+#! /bin/sh
+#                               -*- Mode: Sh -*-
+# prerm ---
+# Author           : Manoj Srivastava ( sriva...@glaurung.green-gryphon.com )
+# Created On       : Fri Nov 14 12:16:39 2003
+# Created On Node  : glaurung.green-gryphon.com
+# Last Modified By : Manoj Srivastava
+# Last Modified On : Thu Dec  4 02:36:25 2003
+# Last Machine Used: glaurung.green-gryphon.com
+# Update Count     : 10
+# Status           : Unknown, Use with caution!
+# HISTORY          :
+# Description      :
+#
+# arch-tag: a4c1a888-137d-4800-98f8-93d0365422d8
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#
+#
+
+# Abort if any command returns an error value
+set -e
+
+package_name=flex
+
+if [ -z "$package_name" ]; then
+    print >&2 "Internal Error. Please report a bug."
+    exit 1;
+fi
+
+
+# This script is called as the first step in removing the package from
+# the system.  This includes cases where the user explicitly asked for
+# the package to be removed, upgrade, automatic removal due to conflicts,
+# and deconfiguration due to temporary removal of a depended-on package.
+
+case "$1" in
+  remove)
+    # This package about to be removed.
+    :
+
+    # Remove package-specific directories from /usr/local.  Don't try
+    # to remove standard directories such as /usr/local/lib.
+    ##: if test -d /usr/local/lib/${package_name}; then
+    ##:   rmdir /usr/local/lib/${package_name} || true
+    ##: fi
+
+    # Deactivate menu-methods script.
+    ##: chmod a-x /etc/menu-methods/${package_name}
+
+    # Withdraw our version of a program.
+    ##: update-alternatives --remove program /usr/bin/alternative
+
+    # Get rid of the installed docs
+    ##: if which install-docs >/dev/null 2>&1; then
+    ##:     install-docs -r $package_name
+    ##: fi
+
+    # Get rid of the byte compiled files
+    ##: if [ -x /usr/lib/emacsen-common/emacs-package-remove ]; then
+    ##:      /usr/lib/emacsen-common/emacs-package-remove $package_name
+    ##: fi
+
+    if [ -L /usr/doc/$package_name ]; then
+        rm -f /usr/doc/$package_name
+    fi
+
+    # There are two sub-cases:
+    if test "${2+set}" = set; then
+      if test "$2" != in-favour; then
+        echo "$0: undocumented call to \`prerm $*'" 1>&2
+        exit 0
+      fi
+      # We are being removed because of a conflict with package $3
+      # (version $4), which is now being installed.
+      :
+
+    else
+      # The package is being removed in its own right.
+      :
+
+    fi ;;
+  deconfigure)
+    if test "$2" != in-favour || test "$5" != removing; then
+      echo "$0: undocumented call to \`prerm $*'" 1>&2
+      exit 0
+    fi
+    # Package $6 (version $7) which we depend on is being removed due
+    # to a conflict with package $3 (version $4), and this package is
+    # being deconfigured until $6 can be reinstalled.
+    :
+
+    ;;
+  upgrade)
+    # Prepare to upgrade FROM THIS VERSION of this package to version $2.
+    :
+
+    if [ -L /usr/doc/$package_name ]; then
+        rm -f /usr/doc/$package_name
+    fi
+
+    ;;
+  failed-upgrade)
+    # Prepare to upgrade from version $2 of this package TO THIS VERSION.
+    # This is only used if the old version's prerm couldn't handle it,
+    # and returned non-zero.  (Fix old prerm bugs here.)
+    :
+
+    ;;
+  *) echo "$0: didn't understand being called with \`$1'" 1>&2
+     exit 0;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff -Nru flex-2.5.39/debian/flex.info flex-2.5.39/debian/flex.info
--- flex-2.5.39/debian/flex.info        2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/flex.info        1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-doc/flex.info
-doc/flex.info-1
-doc/flex.info-2
diff -Nru flex-2.5.39/debian/flex.install flex-2.5.39/debian/flex.install
--- flex-2.5.39/debian/flex.install     2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/flex.install     2014-06-21 06:01:27.000000000 +0200
@@ -1,2 +1,2 @@
-debian/tmp/share usr
-debian/tmp/bin   usr
+debian/tmp/include usr
+debian/tmp/lib   usr
diff -Nru flex-2.5.39/debian/flex.links flex-2.5.39/debian/flex.links
--- flex-2.5.39/debian/flex.links       2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/flex.links       1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-usr/bin/flex    usr/bin/lex
-usr/share/man/man1/flex.1.gz usr/share/man/man1/flex++.1.gz
-usr/share/man/man1/flex.1.gz usr/share/man/man1/lex.1.gz
diff -Nru flex-2.5.39/debian/flex.lintian-overrides 
flex-2.5.39/debian/flex.lintian-overrides
--- flex-2.5.39/debian/flex.lintian-overrides   1970-01-01 01:00:00.000000000 
+0100
+++ flex-2.5.39/debian/flex.lintian-overrides   2014-09-13 20:28:26.000000000 
+0200
@@ -0,0 +1,3 @@
+flex: non-dev-pkg-with-shlib-symlink
+flex: package-name-doesnt-match-sonames
+flex: no-symbols-control-file
diff -Nru flex-2.5.39/debian/flex.manpages flex-2.5.39/debian/flex.manpages
--- flex-2.5.39/debian/flex.manpages    2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/flex.manpages    1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-doc/flex.1
diff -Nru flex-2.5.39/debian/flex.postinst flex-2.5.39/debian/flex.postinst
--- flex-2.5.39/debian/flex.postinst    2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/flex.postinst    1970-01-01 01:00:00.000000000 +0100
@@ -1,226 +0,0 @@
-#! /bin/sh
-#                           -*- Mode: Sh -*-
-# postinst ---
-# Author           : Manoj Srivastava ( sriva...@glaurung.green-gryphon.com )
-# Created On       : Fri Nov 14 11:25:07 2003
-# Created On Node  : glaurung.green-gryphon.com
-# Last Modified By : Manoj Srivastava
-# Last Modified On : Thu Dec  4 02:36:10 2003
-# Last Machine Used: glaurung.green-gryphon.com
-# Update Count     : 13
-# Status           : Unknown, Use with caution!
-# HISTORY          :
-# Description      :
-#
-# arch-tag: 5401e9ef-39cc-4aee-96a4-61dfb8f32cf7
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-#
-
-# Abort if any command returns an error value
-set -e
-
-package_name=flex
-
-if [ -z "$package_name" ]; then
-    print >&2 "Internal Error. Please report a bug."
-    exit 1;
-fi
-
-# This script is called as the last step of the installation of the
-# package.  All the package's files are in place, dpkg has already done
-# its automatic conffile handling, and all the packages we depend of
-# are already fully installed and configured.
-# summary of how this script can be called:
-#        * <postinst> `configure' <most-recently-configured-version>
-#        * <old-postinst> `abort-upgrade' <new version>
-#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#          <new-version>
-#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#          <failed-install-package> <version> `removing'
-#          <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-#
-# quoting from the policy:
-#     Any necessary prompting should almost always be confined to the
-#     post-installation script, and should be protected with a conditional
-#     so that unnecessary prompting doesn't happen if a package's
-#     installation fails and the `postinst' is called with `abort-upgrade',
-#     `abort-remove' or `abort-deconfigure'.
-
-# The following idempotent stuff doesn't generally need protecting
-# against being run in the abort-* cases.
-
-# Create stub directories under /usr/local
-##: if test ! -d /usr/local/lib/${package_name}; then
-##:   if test ! -d /usr/local/lib; then
-##:     if mkdir /usr/local/lib; then
-##:       chown root.staff /usr/local/lib || true
-##:       chmod 2775 /usr/local/lib || true
-##:     fi
-##:   fi
-##:   if mkdir /usr/local/lib/${package_name}; then
-##:     chown root.staff /usr/local/lib/${package_name} || true
-##:     chmod 2775 /usr/local/lib/${package_name} || true
-##:   fi
-##: fi
-
-# Ensure the menu system is updated
-##: [ ! -x /usr/bin/update-menus ] || /usr/bin/update-menus
-
-# Arrange for a daemon to be started at system boot time
-##: update-rc.d ${package_name} default >/dev/null
-
-# This package uses debconf to ask a question, so source the debconf
-# confmodule as early as possible. However, it does not depend on debconf,
-# so debconf may not be installed.
-#################################################
-# if [ -e /usr/share/debconf/confmodule ]; then #
-#         . /usr/share/debconf/confmodule       #
-#         db_capb                               #
-# fi                                            #
-#################################################
-
-case "$1" in
-  configure)
-    # Configure this package.  If the package must prompt the user for
-    # information, do it here.
-    # Install emacs lisp files
-    ##:if [ -x  /usr/lib/emacsen-common/emacs-package-install ]; then
-    ##:    /usr/lib/emacsen-common/emacs-package-install $package_name
-    ##:fi
-
-
-    # Activate menu-methods script
-    ##: chmod a+x /etc/menu-methods/${package_name}
-
-    # Update ld.so cache
-    ##: ldconfig
-
-    # Make our version of a program available
-    ##: update-alternatives \
-    ##:       --install /usr/bin/program program /usr/bin/alternative 50 \
-    ##:       --slave /usr/man/man1/program.1.gz program.1.gz \
-    ##:               /usr/man/man1/alternative.1.gz
-
-    # Tell ucf that the file in /usr/share/foo is the latest
-    # maintainer version, and let it handle how to manage the real
-    # confuguration file in /etc. This is how a static configuration
-    # file can be handled:
-    ##:if which ucf >/dev/null 2>&1; then
-    ##:  ucf /usr/share/${package_name}/configuration /etc/${package_name}.conf
-    ##:fi
-
-    ### We could also do this on the fly. The following is from Tore
-    ### Anderson:
-
-    #. /usr/share/debconf/confmodule
-
-    ### find out what the user answered.
-    #  db_get foo/run_on_boot
-    #  run_on_boot=$RET
-    #  db_stop
-
-    ### safely create a temporary file to generate our suggested
-    ### configuration file.
-    #    tempfile=`tempfile`
-    #    cat << _eof > $tempfile
-    ### Configuration file for Foo.
-
-    ### this was answered by you, the user in a debconf dialogue
-    #  RUNONBOOT=$run_on_boot
-
-    ### this was not, as it has a sane default value.
-    #  COLOUROFSKY=blue
-
-    #_eof
-
-    ### Note that some versions of debconf do not release stdin, so
-    ### the following invocation of ucf may not work, since the stdin
-    ### is never coneected to ucfr.
-
-    ### now, invoke ucf, which will take care of the rest, and ask
-    ### the user if he wants to update his file, if it is modified.
-    #ucf $tempfile /etc/foo.conf
-
-    ### done! now we'll just clear up our cruft.
-    #rm -f $tempfile
-
-
-
-    # There are three sub-cases:
-    if test "${2+set}" != set; then
-      # We're being installed by an ancient dpkg which doesn't remember
-      # which version was most recently configured, or even whether
-      # there is a most recently configured version.
-      :
-
-    elif test -z "$2" || test "$2" = "<unknown>"; then
-      # The package has not ever been configured on this system, or was
-      # purged since it was last configured.
-      :
-
-    else
-      # Version $2 is the most recently configured version of this
-      # package.
-      :
-
-    fi ;;
-  abort-upgrade)
-    # Back out of an attempt to upgrade this package FROM THIS VERSION
-    # to version $2.  Undo the effects of "prerm upgrade $2".
-    :
-
-    ;;
-  abort-remove)
-    if test "$2" != in-favour; then
-      echo "$0: undocumented call to \`postinst $*'" 1>&2
-      exit 0
-    fi
-    # Back out of an attempt to remove this package, which was due to
-    # a conflict with package $3 (version $4).  Undo the effects of
-    # "prerm remove in-favour $3 $4".
-    :
-
-    ;;
-  abort-deconfigure)
-    if test "$2" != in-favour || test "$5" != removing; then
-      echo "$0: undocumented call to \`postinst $*'" 1>&2
-      exit 0
-    fi
-    # Back out of an attempt to deconfigure this package, which was
-    # due to package $6 (version $7) which we depend on being removed
-    # to make way for package $3 (version $4).  Undo the effects of
-    # "prerm deconfigure in-favour $3 $4 removing $6 $7".
-    :
-
-    ;;
-  *) echo "$0: didn't understand being called with \`$1'" 1>&2
-     exit 0;;
-esac
-
-# Install doc base documentation
-##:if which install-docs >/dev/null 2>&1; then
-##:  if [ -e /usr/share/doc-base/${package_name} ]; then
-##:    install-docs -i /usr/share/doc-base/${package_name}
-##:  fi
-##:fi
-
-#DEBHELPER#
-
-
-exit 0
diff -Nru flex-2.5.39/debian/flex.prerm flex-2.5.39/debian/flex.prerm
--- flex-2.5.39/debian/flex.prerm       2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/flex.prerm       1970-01-01 01:00:00.000000000 +0100
@@ -1,128 +0,0 @@
-#! /bin/sh
-#                               -*- Mode: Sh -*-
-# prerm ---
-# Author           : Manoj Srivastava ( sriva...@glaurung.green-gryphon.com )
-# Created On       : Fri Nov 14 12:16:39 2003
-# Created On Node  : glaurung.green-gryphon.com
-# Last Modified By : Manoj Srivastava
-# Last Modified On : Thu Dec  4 02:36:25 2003
-# Last Machine Used: glaurung.green-gryphon.com
-# Update Count     : 10
-# Status           : Unknown, Use with caution!
-# HISTORY          :
-# Description      :
-#
-# arch-tag: a4c1a888-137d-4800-98f8-93d0365422d8
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-#
-
-# Abort if any command returns an error value
-set -e
-
-package_name=flex
-
-if [ -z "$package_name" ]; then
-    print >&2 "Internal Error. Please report a bug."
-    exit 1;
-fi
-
-
-# This script is called as the first step in removing the package from
-# the system.  This includes cases where the user explicitly asked for
-# the package to be removed, upgrade, automatic removal due to conflicts,
-# and deconfiguration due to temporary removal of a depended-on package.
-
-case "$1" in
-  remove)
-    # This package about to be removed.
-    :
-
-    # Remove package-specific directories from /usr/local.  Don't try
-    # to remove standard directories such as /usr/local/lib.
-    ##: if test -d /usr/local/lib/${package_name}; then
-    ##:   rmdir /usr/local/lib/${package_name} || true
-    ##: fi
-
-    # Deactivate menu-methods script.
-    ##: chmod a-x /etc/menu-methods/${package_name}
-
-    # Withdraw our version of a program.
-    ##: update-alternatives --remove program /usr/bin/alternative
-
-    # Get rid of the installed docs
-    ##: if which install-docs >/dev/null 2>&1; then
-    ##:     install-docs -r $package_name
-    ##: fi
-
-    # Get rid of the byte compiled files
-    ##: if [ -x /usr/lib/emacsen-common/emacs-package-remove ]; then
-    ##:      /usr/lib/emacsen-common/emacs-package-remove $package_name
-    ##: fi
-
-    if [ -L /usr/doc/$package_name ]; then
-        rm -f /usr/doc/$package_name
-    fi
-
-    # There are two sub-cases:
-    if test "${2+set}" = set; then
-      if test "$2" != in-favour; then
-        echo "$0: undocumented call to \`prerm $*'" 1>&2
-        exit 0
-      fi
-      # We are being removed because of a conflict with package $3
-      # (version $4), which is now being installed.
-      :
-
-    else
-      # The package is being removed in its own right.
-      :
-
-    fi ;;
-  deconfigure)
-    if test "$2" != in-favour || test "$5" != removing; then
-      echo "$0: undocumented call to \`prerm $*'" 1>&2
-      exit 0
-    fi
-    # Package $6 (version $7) which we depend on is being removed due
-    # to a conflict with package $3 (version $4), and this package is
-    # being deconfigured until $6 can be reinstalled.
-    :
-
-    ;;
-  upgrade)
-    # Prepare to upgrade FROM THIS VERSION of this package to version $2.
-    :
-
-    if [ -L /usr/doc/$package_name ]; then
-        rm -f /usr/doc/$package_name
-    fi
-
-    ;;
-  failed-upgrade)
-    # Prepare to upgrade from version $2 of this package TO THIS VERSION.
-    # This is only used if the old version's prerm couldn't handle it,
-    # and returned non-zero.  (Fix old prerm bugs here.)
-    :
-
-    ;;
-  *) echo "$0: didn't understand being called with \`$1'" 1>&2
-     exit 0;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff -Nru flex-2.5.39/debian/libfl-dev.docs flex-2.5.39/debian/libfl-dev.docs
--- flex-2.5.39/debian/libfl-dev.docs   2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/libfl-dev.docs   1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-README
-debian/README.Debian
-debian/NEWS.Debian
diff -Nru flex-2.5.39/debian/libfl-dev.install 
flex-2.5.39/debian/libfl-dev.install
--- flex-2.5.39/debian/libfl-dev.install        2014-06-21 06:01:27.000000000 
+0200
+++ flex-2.5.39/debian/libfl-dev.install        1970-01-01 01:00:00.000000000 
+0100
@@ -1,2 +0,0 @@
-debian/tmp/include usr
-debian/tmp/lib   usr
diff -Nru flex-2.5.39/debian/libfl-dev.lintian-overrides 
flex-2.5.39/debian/libfl-dev.lintian-overrides
--- flex-2.5.39/debian/libfl-dev.lintian-overrides      2014-06-21 
06:01:27.000000000 +0200
+++ flex-2.5.39/debian/libfl-dev.lintian-overrides      1970-01-01 
01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-libfl-dev: non-dev-pkg-with-shlib-symlink
-libfl-dev: package-name-doesnt-match-sonames
-libfl-dev: no-symbols-control-file
diff -Nru flex-2.5.39/debian/rules flex-2.5.39/debian/rules
--- flex-2.5.39/debian/rules    2014-06-21 06:01:27.000000000 +0200
+++ flex-2.5.39/debian/rules    2014-09-13 20:26:29.000000000 +0200
@@ -44,12 +44,12 @@
             find debian/tmp/lib/$(DEB_HOST_MULTIARCH) -type f           \
                -name \*.la -exec rm {} \;
        dh_install
-       rm -f debian/flex/usr/share/doc/flex/flex.pdf
-ifneq (,$(filter libfl-dev, $(shell dh_listpackages)))
-       $(make_directory) debian/libfl-dev/usr/lib
+       rm -f debian/flex-bin/usr/share/doc/flex/flex.pdf
+ifneq (,$(filter flex, $(shell dh_listpackages)))
+       $(make_directory) debian/flex/usr/lib
        sed -e 's,#DEB_HOST_MULTIARCH#,$(DEB_HOST_MULTIARCH),'           \
-           debian/libfl.shared_object > 
debian/libfl-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libfl.so
-       ln -s libfl.a debian/libfl-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libl.a
+           debian/libfl.shared_object > 
debian/flex/usr/lib/$(DEB_HOST_MULTIARCH)/libfl.so
+       ln -s libfl.a debian/flex/usr/lib/$(DEB_HOST_MULTIARCH)/libl.a
 endif
 ifneq (,$(filter flex, $(shell dh_listpackages)))
        test ! -f debian/flex/usr/share/doc/flex/COPYING || rm -f 
debian/flex/usr/share/doc/flex/COPYING
@@ -70,8 +70,8 @@
 endif
        bash -n debian/flex-doc.postinst
        bash -n debian/flex-doc.prerm
-       bash -n debian/flex.postinst
-       bash -n debian/flex.prerm
+       bash -n debian/flex-bin.postinst
+       bash -n debian/flex-bin.prerm
 
 #Local variables:
 #mode: makefile

Reply via email to