TclGPG  Hex Artifact Content

Artifact bfb21e69cf20247b49b24a03a766154ebedc42ea:

Attachment "environment-disable-c-helper" to ticket [8cbc80a5bb] added by sgolovan 2015-03-17 12:37:58.
0000: 41 4c 53 41 5f 43 41 52 44 53 3d 0a 41 4c 53 41  ALSA_CARDS=.ALSA
0010: 5f 50 43 4d 5f 50 4c 55 47 49 4e 53 3d 27 61 64  _PCM_PLUGINS='ad
0020: 70 63 6d 20 61 6c 61 77 20 61 73 79 6d 20 63 6f  pcm alaw asym co
0030: 70 79 20 64 6d 69 78 20 64 73 68 61 72 65 20 64  py dmix dshare d
0040: 73 6e 6f 6f 70 20 65 6d 70 74 79 20 65 78 74 70  snoop empty extp
0050: 6c 75 67 20 66 69 6c 65 20 68 6f 6f 6b 73 20 69  lug file hooks i
0060: 65 63 39 35 38 20 69 6f 70 6c 75 67 20 6c 61 64  ec958 ioplug lad
0070: 73 70 61 20 6c 66 6c 6f 61 74 20 6c 69 6e 65 61  spa lfloat linea
0080: 72 20 6d 65 74 65 72 20 6d 6d 61 70 5f 65 6d 75  r meter mmap_emu
0090: 6c 20 6d 75 6c 61 77 20 6d 75 6c 74 69 20 6e 75  l mulaw multi nu
00a0: 6c 6c 20 70 6c 75 67 20 72 61 74 65 20 72 6f 75  ll plug rate rou
00b0: 74 65 20 73 68 61 72 65 20 73 68 6d 20 73 6f 66  te share shm sof
00c0: 74 76 6f 6c 27 0a 41 4e 54 5f 48 4f 4d 45 3d 2f  tvol'.ANT_HOME=/
00d0: 75 73 72 2f 73 68 61 72 65 2f 61 6e 74 0a 41 50  usr/share/ant.AP
00e0: 41 43 48 45 32 5f 4d 4f 44 55 4c 45 53 3d 27 61  ACHE2_MODULES='a
00f0: 63 74 69 6f 6e 73 20 61 6c 69 61 73 20 61 75 74  ctions alias aut
0100: 68 5f 62 61 73 69 63 20 61 75 74 68 6e 5f 61 6c  h_basic authn_al
0110: 69 61 73 20 61 75 74 68 6e 5f 61 6e 6f 6e 20 61  ias authn_anon a
0120: 75 74 68 6e 5f 64 62 6d 20 61 75 74 68 6e 5f 64  uthn_dbm authn_d
0130: 65 66 61 75 6c 74 20 61 75 74 68 6e 5f 66 69 6c  efault authn_fil
0140: 65 20 61 75 74 68 7a 5f 64 62 6d 20 61 75 74 68  e authz_dbm auth
0150: 7a 5f 64 65 66 61 75 6c 74 20 61 75 74 68 7a 5f  z_default authz_
0160: 67 72 6f 75 70 66 69 6c 65 20 61 75 74 68 7a 5f  groupfile authz_
0170: 68 6f 73 74 20 61 75 74 68 7a 5f 6f 77 6e 65 72  host authz_owner
0180: 20 61 75 74 68 7a 5f 75 73 65 72 20 61 75 74 6f   authz_user auto
0190: 69 6e 64 65 78 20 63 61 63 68 65 20 64 61 76 20  index cache dav 
01a0: 64 61 76 5f 66 73 20 64 61 76 5f 6c 6f 63 6b 20  dav_fs dav_lock 
01b0: 64 65 66 6c 61 74 65 20 64 69 72 20 64 69 73 6b  deflate dir disk
01c0: 5f 63 61 63 68 65 20 65 6e 76 20 65 78 70 69 72  _cache env expir
01d0: 65 73 20 65 78 74 5f 66 69 6c 74 65 72 20 66 69  es ext_filter fi
01e0: 6c 65 5f 63 61 63 68 65 20 66 69 6c 74 65 72 20  le_cache filter 
01f0: 68 65 61 64 65 72 73 20 69 6e 63 6c 75 64 65 20  headers include 
0200: 69 6e 66 6f 20 6c 6f 67 5f 63 6f 6e 66 69 67 20  info log_config 
0210: 6c 6f 67 69 6f 20 6d 65 6d 5f 63 61 63 68 65 20  logio mem_cache 
0220: 6d 69 6d 65 20 6d 69 6d 65 5f 6d 61 67 69 63 20  mime mime_magic 
0230: 6e 65 67 6f 74 69 61 74 69 6f 6e 20 72 65 77 72  negotiation rewr
0240: 69 74 65 20 73 65 74 65 6e 76 69 66 20 73 70 65  ite setenvif spe
0250: 6c 69 6e 67 20 73 74 61 74 75 73 20 75 6e 69 71  ling status uniq
0260: 75 65 5f 69 64 20 75 73 65 72 64 69 72 20 75 73  ue_id userdir us
0270: 65 72 74 72 61 63 6b 20 76 68 6f 73 74 5f 61 6c  ertrack vhost_al
0280: 69 61 73 27 0a 41 52 43 48 3d 78 38 36 0a 41 54  ias'.ARCH=x86.AT
0290: 5f 47 4e 55 43 4f 4e 46 5f 55 50 44 41 54 45 3d  _GNUCONF_UPDATE=
02a0: 6e 6f 0a 41 54 5f 4d 34 44 49 52 3d 0a 42 52 4f  no.AT_M4DIR=.BRO
02b0: 57 53 45 52 3d 6b 6f 6e 71 75 65 72 6f 72 0a 43  WSER=konqueror.C
02c0: 41 4d 45 52 41 53 3d 27 64 69 72 65 63 74 6f 72  AMERAS='director
02d0: 79 20 73 70 63 61 35 30 78 20 73 78 33 33 30 7a  y spca50x sx330z
02e0: 20 74 65 6d 70 6c 61 74 65 27 0a 43 42 55 49 4c   template'.CBUIL
02f0: 44 3d 69 36 38 36 2d 70 63 2d 6c 69 6e 75 78 2d  D=i686-pc-linux-
0300: 67 6e 75 0a 43 44 45 46 49 4e 45 5f 64 65 66 61  gnu.CDEFINE_defa
0310: 75 6c 74 3d 5f 5f 75 6e 69 78 5f 5f 0a 43 46 4c  ult=__unix__.CFL
0320: 41 47 53 3d 27 2d 6d 61 72 63 68 3d 6e 61 74 69  AGS='-march=nati
0330: 76 65 20 2d 6d 74 75 6e 65 3d 6e 61 74 69 76 65  ve -mtune=native
0340: 20 2d 4f 33 20 2d 70 69 70 65 20 2d 6d 33 64 6e   -O3 -pipe -m3dn
0350: 6f 77 27 0a 43 46 4c 41 47 53 5f 64 65 66 61 75  ow'.CFLAGS_defau
0360: 6c 74 3d 0a 43 48 4f 53 54 3d 69 36 38 36 2d 70  lt=.CHOST=i686-p
0370: 63 2d 6c 69 6e 75 78 2d 67 6e 75 0a 43 48 4f 53  c-linux-gnu.CHOS
0380: 54 5f 64 65 66 61 75 6c 74 3d 69 36 38 36 2d 70  T_default=i686-p
0390: 63 2d 6c 69 6e 75 78 2d 67 6e 75 0a 43 4f 4c 4f  c-linux-gnu.COLO
03a0: 4e 5f 53 45 50 41 52 41 54 45 44 3d 27 58 44 47  N_SEPARATED='XDG
03b0: 5f 44 41 54 41 5f 44 49 52 53 20 58 44 47 5f 43  _DATA_DIRS XDG_C
03c0: 4f 4e 46 49 47 5f 44 49 52 53 27 0a 43 4f 4c 4f  ONFIG_DIRS'.COLO
03d0: 52 46 47 42 47 3d 27 31 35 3b 64 65 66 61 75 6c  RFGBG='15;defaul
03e0: 74 3b 30 27 0a 43 52 4f 53 53 43 4f 4d 50 49 4c  t;0'.CROSSCOMPIL
03f0: 45 5f 4f 50 54 53 3d 0a 43 54 41 52 47 45 54 5f  E_OPTS=.CTARGET_
0400: 64 65 66 61 75 6c 74 3d 69 36 38 36 2d 70 63 2d  default=i686-pc-
0410: 6c 69 6e 75 78 2d 67 6e 75 0a 43 56 53 5f 52 53  linux-gnu.CVS_RS
0420: 48 3d 73 73 68 0a 43 58 58 46 4c 41 47 53 3d 27  H=ssh.CXXFLAGS='
0430: 2d 6d 61 72 63 68 3d 6e 61 74 69 76 65 20 2d 6d  -march=native -m
0440: 74 75 6e 65 3d 6e 61 74 69 76 65 20 2d 4f 33 20  tune=native -O3 
0450: 2d 70 69 70 65 20 2d 6d 33 64 6e 6f 77 27 0a 44  -pipe -m3dnow'.D
0460: 42 55 53 5f 53 45 53 53 49 4f 4e 5f 42 55 53 5f  BUS_SESSION_BUS_
0470: 41 44 44 52 45 53 53 3d 75 6e 69 78 3a 61 62 73  ADDRESS=unix:abs
0480: 74 72 61 63 74 3d 2f 74 6d 70 2f 64 62 75 73 2d  tract=/tmp/dbus-
0490: 62 46 51 47 43 69 36 6f 38 64 2c 67 75 69 64 3d  bFQGCi6o8d,guid=
04a0: 31 39 62 31 30 37 36 36 30 37 33 62 32 35 62 32  19b10766073b25b2
04b0: 34 65 31 61 32 64 61 38 34 61 37 62 64 36 34 30  4e1a2da84a7bd640
04c0: 0a 44 45 46 41 55 4c 54 5f 41 42 49 3d 64 65 66  .DEFAULT_ABI=def
04d0: 61 75 6c 74 0a 44 45 46 49 4e 45 44 5f 50 48 41  ault.DEFINED_PHA
04e0: 53 45 53 3d 27 20 63 6f 6d 70 69 6c 65 20 63 6f  SES=' compile co
04f0: 6e 66 69 67 75 72 65 20 69 6e 73 74 61 6c 6c 20  nfigure install 
0500: 70 72 65 69 6e 73 74 20 70 72 65 70 61 72 65 20  preinst prepare 
0510: 75 6e 70 61 63 6b 27 0a 44 45 50 45 4e 44 3d 24  unpack'.DEPEND=$
0520: 27 61 70 70 2d 63 72 79 70 74 2f 67 6e 75 70 67  'app-crypt/gnupg
0530: 5c 6e 5c 74 64 65 76 2d 6c 61 6e 67 2f 74 63 6c  \n\tdev-lang/tcl
0540: 5c 6e 5c 74 21 68 65 6c 70 65 72 3f 20 28 20 64  \n\t!helper? ( d
0550: 65 76 2d 74 63 6c 74 6b 2f 74 63 6c 78 20 29 20  ev-tcltk/tclx ) 
0560: 20 3d 73 79 73 2d 64 65 76 65 6c 2f 61 75 74 6f   =sys-devel/auto
0570: 6d 61 6b 65 2d 31 2e 31 30 2a 5c 6e 5c 74 3e 3d  make-1.10*\n\t>=
0580: 73 79 73 2d 64 65 76 65 6c 2f 61 75 74 6f 63 6f  sys-devel/autoco
0590: 6e 66 2d 32 2e 36 31 20 73 79 73 2d 64 65 76 65  nf-2.61 sys-deve
05a0: 6c 2f 6c 69 62 74 6f 6f 6c 20 64 65 76 2d 75 74  l/libtool dev-ut
05b0: 69 6c 2f 73 75 62 76 65 72 73 69 6f 6e 5c 6e 5c  il/subversion\n\
05c0: 74 6e 65 74 2d 6d 69 73 63 2f 72 73 79 6e 63 27  tnet-misc/rsync'
05d0: 0a 44 45 53 43 52 49 50 54 49 4f 4e 3d 27 54 63  .DESCRIPTION='Tc
05e0: 6c 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 47  l interface to G
05f0: 4e 55 20 50 72 69 76 61 63 79 20 47 75 61 72 64  NU Privacy Guard
0600: 20 77 69 74 68 20 69 6e 74 65 72 66 61 63 65 20   with interface 
0610: 73 69 6d 69 6c 61 72 20 74 6f 20 54 63 6c 47 50  similar to TclGP
0620: 47 4d 45 2e 27 0a 44 45 53 4b 54 4f 50 5f 53 45  GME.'.DESKTOP_SE
0630: 53 53 49 4f 4e 3d 4b 44 45 2d 34 0a 44 45 53 4b  SSION=KDE-4.DESK
0640: 54 4f 50 5f 53 54 41 52 54 55 50 5f 49 44 3d 0a  TOP_STARTUP_ID=.
0650: 44 45 53 54 54 52 45 45 3d 2f 75 73 72 0a 44 49  DESTTREE=/usr.DI
0660: 52 4f 50 54 49 4f 4e 53 3d 2d 6d 30 37 35 35 0a  ROPTIONS=-m0755.
0670: 44 4d 5f 43 4f 4e 54 52 4f 4c 3d 2f 76 61 72 2f  DM_CONTROL=/var/
0680: 72 75 6e 2f 78 64 6d 63 74 6c 0a 45 41 50 49 3d  run/xdmctl.EAPI=
0690: 32 0a 45 43 4f 4e 46 5f 53 4f 55 52 43 45 3d 2e  2.ECONF_SOURCE=.
06a0: 0a 45 4c 49 42 43 3d 67 6c 69 62 63 0a 45 4c 49  .ELIBC=glibc.ELI
06b0: 42 54 4f 4f 4c 5f 56 45 52 53 49 4f 4e 3d 32 2e  BTOOL_VERSION=2.
06c0: 30 2e 32 0a 45 4c 54 5f 41 50 50 4c 49 45 44 5f  0.2.ELT_APPLIED_
06d0: 50 41 54 43 48 45 53 3d 0a 45 4c 54 5f 4c 54 4d  PATCHES=.ELT_LTM
06e0: 41 49 4e 5f 53 48 3d 0a 45 4c 54 5f 50 41 54 43  AIN_SH=.ELT_PATC
06f0: 48 5f 44 49 52 3d 2f 75 73 72 2f 70 6f 72 74 61  H_DIR=/usr/porta
0700: 67 65 2f 65 63 6c 61 73 73 2f 45 4c 54 2d 70 61  ge/eclass/ELT-pa
0710: 74 63 68 65 73 0a 45 50 41 54 43 48 5f 45 58 43  tches.EPATCH_EXC
0720: 4c 55 44 45 3d 0a 45 50 41 54 43 48 5f 46 4f 52  LUDE=.EPATCH_FOR
0730: 43 45 3d 6e 6f 0a 45 50 41 54 43 48 5f 4d 55 4c  CE=no.EPATCH_MUL
0740: 54 49 5f 4d 53 47 3d 27 41 70 70 6c 79 69 6e 67  TI_MSG='Applying
0750: 20 76 61 72 69 6f 75 73 20 70 61 74 63 68 65 73   various patches
0760: 20 28 62 75 67 66 69 78 65 73 2f 75 70 64 61 74   (bugfixes/updat
0770: 65 73 29 20 2e 2e 2e 27 0a 45 50 41 54 43 48 5f  es) ...'.EPATCH_
0780: 4f 50 54 53 3d 27 2d 67 30 20 2d 45 20 2d 2d 6e  OPTS='-g0 -E --n
0790: 6f 2d 62 61 63 6b 75 70 2d 69 66 2d 6d 69 73 6d  o-backup-if-mism
07a0: 61 74 63 68 27 0a 45 50 41 54 43 48 5f 53 49 4e  atch'.EPATCH_SIN
07b0: 47 4c 45 5f 4d 53 47 3d 0a 45 50 41 54 43 48 5f  GLE_MSG=.EPATCH_
07c0: 53 4f 55 52 43 45 3d 2f 76 61 72 2f 74 6d 70 2f  SOURCE=/var/tmp/
07d0: 70 6f 72 74 61 67 65 2f 64 65 76 2d 74 63 6c 74  portage/dev-tclt
07e0: 6b 2f 74 63 6c 67 70 67 2d 39 39 39 39 2f 77 6f  k/tclgpg-9999/wo
07f0: 72 6b 2f 70 61 74 63 68 0a 45 50 41 54 43 48 5f  rk/patch.EPATCH_
0800: 53 55 46 46 49 58 3d 70 61 74 63 68 2e 62 7a 32  SUFFIX=patch.bz2
0810: 0a 45 53 43 4d 5f 4c 4f 47 44 49 52 3d 0a 45 53  .ESCM_LOGDIR=.ES
0820: 56 4e 3d 73 75 62 76 65 72 73 69 6f 6e 0a 45 53  VN=subversion.ES
0830: 56 4e 5f 42 4f 4f 54 53 54 52 41 50 3d 0a 45 53  VN_BOOTSTRAP=.ES
0840: 56 4e 5f 44 49 53 41 42 4c 45 5f 44 45 50 45 4e  VN_DISABLE_DEPEN
0850: 44 45 4e 43 49 45 53 3d 0a 45 53 56 4e 5f 46 45  DENCIES=.ESVN_FE
0860: 54 43 48 5f 43 4d 44 3d 27 73 76 6e 20 63 68 65  TCH_CMD='svn che
0870: 63 6b 6f 75 74 27 0a 45 53 56 4e 5f 4f 46 46 4c  ckout'.ESVN_OFFL
0880: 49 4e 45 3d 0a 45 53 56 4e 5f 4f 50 54 49 4f 4e  INE=.ESVN_OPTION
0890: 53 3d 0a 45 53 56 4e 5f 50 41 53 53 57 4f 52 44  S=.ESVN_PASSWORD
08a0: 3d 0a 45 53 56 4e 5f 50 41 54 43 48 45 53 3d 0a  =.ESVN_PATCHES=.
08b0: 45 53 56 4e 5f 50 52 4f 4a 45 43 54 3d 74 63 6c  ESVN_PROJECT=tcl
08c0: 67 70 67 0a 45 53 56 4e 5f 52 45 50 4f 5f 55 52  gpg.ESVN_REPO_UR
08d0: 49 3d 68 74 74 70 3a 2f 2f 74 63 6c 67 70 67 2e  I=http://tclgpg.
08e0: 67 6f 6f 67 6c 65 63 6f 64 65 2e 63 6f 6d 2f 73  googlecode.com/s
08f0: 76 6e 2f 74 72 75 6e 6b 2f 0a 45 53 56 4e 5f 52  vn/trunk/.ESVN_R
0900: 45 53 54 52 49 43 54 3d 0a 45 53 56 4e 5f 52 45  ESTRICT=.ESVN_RE
0910: 56 49 53 49 4f 4e 3d 0a 45 53 56 4e 5f 53 54 4f  VISION=.ESVN_STO
0920: 52 45 5f 44 49 52 3d 2f 6d 6e 74 2f 73 72 63 2f  RE_DIR=/mnt/src/
0930: 64 69 73 74 66 69 6c 65 73 2f 67 65 6e 74 6f 6f  distfiles/gentoo
0940: 2f 64 69 73 74 66 69 6c 65 73 2f 73 76 6e 2d 73  /distfiles/svn-s
0950: 72 63 0a 45 53 56 4e 5f 53 57 49 54 43 48 5f 43  rc.ESVN_SWITCH_C
0960: 4d 44 3d 27 73 76 6e 20 73 77 69 74 63 68 27 0a  MD='svn switch'.
0970: 45 53 56 4e 5f 55 50 44 41 54 45 5f 43 4d 44 3d  ESVN_UPDATE_CMD=
0980: 27 73 76 6e 20 75 70 64 61 74 65 27 0a 45 53 56  'svn update'.ESV
0990: 4e 5f 55 50 5f 46 52 45 51 3d 0a 45 53 56 4e 5f  N_UP_FREQ=.ESVN_
09a0: 55 53 45 52 3d 0a 45 53 56 4e 5f 57 43 5f 50 41  USER=.ESVN_WC_PA
09b0: 54 48 3d 2f 6d 6e 74 2f 73 72 63 2f 64 69 73 74  TH=/mnt/src/dist
09c0: 66 69 6c 65 73 2f 67 65 6e 74 6f 6f 2f 64 69 73  files/gentoo/dis
09d0: 74 66 69 6c 65 73 2f 73 76 6e 2d 73 72 63 2f 74  tfiles/svn-src/t
09e0: 63 6c 67 70 67 2f 74 72 75 6e 6b 0a 45 53 56 4e  clgpg/trunk.ESVN
09f0: 5f 57 43 5f 52 45 56 49 53 49 4f 4e 3d 35 36 0a  _WC_REVISION=56.
0a00: 45 53 56 4e 5f 57 43 5f 52 4f 4f 54 3d 27 52 6f  ESVN_WC_ROOT='Ro
0a10: 6f 74 3a 20 68 74 74 70 3a 2f 2f 74 63 6c 67 70  ot: http://tclgp
0a20: 67 2e 67 6f 6f 67 6c 65 63 6f 64 65 2e 63 6f 6d  g.googlecode.com
0a30: 2f 73 76 6e 27 0a 45 53 56 4e 5f 57 43 5f 55 52  /svn'.ESVN_WC_UR
0a40: 4c 3d 68 74 74 70 3a 2f 2f 74 63 6c 67 70 67 2e  L=http://tclgpg.
0a50: 67 6f 6f 67 6c 65 63 6f 64 65 2e 63 6f 6d 2f 73  googlecode.com/s
0a60: 76 6e 2f 74 72 75 6e 6b 0a 45 53 56 4e 5f 57 43  vn/trunk.ESVN_WC
0a70: 5f 55 55 49 44 3d 27 55 55 49 44 3a 20 66 65 65  _UUID='UUID: fee
0a80: 34 34 36 37 64 2d 64 34 35 35 2d 30 34 31 30 2d  4467d-d455-0410-
0a90: 61 33 36 38 2d 62 31 37 34 63 30 34 37 38 30 38  a368-b174c047808
0aa0: 36 27 0a 45 58 45 4f 50 54 49 4f 4e 53 3d 2d 6d  6'.EXEOPTIONS=-m
0ab0: 30 37 35 35 0a 46 45 41 54 55 52 45 53 3d 27 61  0755.FEATURES='a
0ac0: 73 73 75 6d 65 2d 64 69 67 65 73 74 73 20 63 61  ssume-digests ca
0ad0: 6e 64 79 20 63 63 61 63 68 65 20 64 69 73 74 6c  ndy ccache distl
0ae0: 6f 63 6b 73 20 66 69 78 70 61 63 6b 61 67 65 73  ocks fixpackages
0af0: 20 6d 65 74 61 64 61 74 61 2d 74 72 61 6e 73 66   metadata-transf
0b00: 65 72 20 70 61 72 61 6c 6c 65 6c 2d 66 65 74 63  er parallel-fetc
0b10: 68 20 70 72 65 73 65 72 76 65 2d 6c 69 62 73 20  h preserve-libs 
0b20: 70 72 6f 74 65 63 74 2d 6f 77 6e 65 64 20 73 61  protect-owned sa
0b30: 6e 64 62 6f 78 20 73 66 70 65 72 6d 73 20 73 74  ndbox sfperms st
0b40: 72 69 63 74 20 75 6e 6d 65 72 67 65 2d 6c 6f 67  rict unmerge-log
0b50: 73 20 75 6e 6d 65 72 67 65 2d 6f 72 70 68 61 6e  s unmerge-orphan
0b60: 73 20 75 73 65 72 66 65 74 63 68 20 75 73 65 72  s userfetch user
0b70: 70 72 69 76 20 75 73 65 72 73 61 6e 64 62 6f 78  priv usersandbox
0b80: 27 0a 46 46 4c 41 47 53 3d 27 2d 6d 61 72 63 68  '.FFLAGS='-march
0b90: 3d 6e 61 74 69 76 65 20 2d 6d 74 75 6e 65 3d 6e  =native -mtune=n
0ba0: 61 74 69 76 65 20 2d 4f 33 20 2d 70 69 70 65 20  ative -O3 -pipe 
0bb0: 2d 6d 33 64 6e 6f 77 27 0a 47 43 43 5f 53 50 45  -m3dnow'.GCC_SPE
0bc0: 43 53 3d 0a 47 44 4b 5f 55 53 45 5f 58 46 54 3d  CS=.GDK_USE_XFT=
0bd0: 31 0a 47 50 47 5f 54 54 59 3d 2f 64 65 76 2f 70  1.GPG_TTY=/dev/p
0be0: 74 73 2f 31 32 0a 47 52 41 53 53 5f 4c 44 5f 4c  ts/12.GRASS_LD_L
0bf0: 49 42 52 41 52 59 5f 50 41 54 48 3d 2f 75 73 72  IBRARY_PATH=/usr
0c00: 2f 67 72 61 73 73 36 32 2f 6c 69 62 0a 47 53 5f  /grass62/lib.GS_
0c10: 4c 49 42 3d 2f 68 6f 6d 65 2f 75 73 65 72 2f 2e  LIB=/home/user/.
0c20: 66 6f 6e 74 73 0a 47 54 4b 32 5f 52 43 5f 46 49  fonts.GTK2_RC_FI
0c30: 4c 45 53 3d 2f 68 6f 6d 65 2f 75 73 65 72 2f 2e  LES=/home/user/.
0c40: 67 74 6b 72 63 2d 32 2e 30 2d 6b 64 65 0a 48 45  gtkrc-2.0-kde.HE
0c50: 4c 50 44 49 52 3d 2f 75 73 72 2f 6c 6f 63 61 6c  LPDIR=/usr/local
0c60: 2f 6c 69 62 2f 7a 73 68 2f 68 65 6c 70 0a 48 49  /lib/zsh/help.HI
0c70: 53 54 43 4f 4e 54 52 4f 4c 3d 69 67 6e 6f 72 65  STCONTROL=ignore
0c80: 62 6f 74 68 3a 65 72 61 73 65 64 75 70 73 0a 48  both:erasedups.H
0c90: 49 53 54 46 49 4c 45 53 49 5a 45 3d 32 30 30 30  ISTFILESIZE=2000
0ca0: 30 30 0a 48 49 53 54 53 49 5a 45 3d 32 30 30 30  00.HISTSIZE=2000
0cb0: 30 30 0a 48 49 53 54 54 49 4d 45 46 4f 52 4d 41  00.HISTTIMEFORMA
0cc0: 54 3d 25 46 5f 25 54 0a 48 4f 4d 45 50 41 47 45  T=%F_%T.HOMEPAGE
0cd0: 3d 68 74 74 70 3a 2f 2f 63 6f 64 65 2e 67 6f 6f  =http://code.goo
0ce0: 67 6c 65 2e 63 6f 6d 2f 70 2f 74 63 6c 67 70 67  gle.com/p/tclgpg
0cf0: 2f 0a 49 4e 48 45 52 49 54 45 44 3d 27 74 6f 6f  /.INHERITED='too
0d00: 6c 63 68 61 69 6e 2d 66 75 6e 63 73 20 70 6f 72  lchain-funcs por
0d10: 74 61 62 69 6c 69 74 79 20 6d 75 6c 74 69 6c 69  tability multili
0d20: 62 20 73 75 62 76 65 72 73 69 6f 6e 20 6c 69 62  b subversion lib
0d30: 74 6f 6f 6c 20 61 75 74 6f 74 6f 6f 6c 73 20 65  tool autotools e
0d40: 75 74 69 6c 73 27 0a 49 4e 50 55 54 5f 44 45 56  utils'.INPUT_DEV
0d50: 49 43 45 53 3d 27 6b 65 79 62 6f 61 72 64 20 6d  ICES='keyboard m
0d60: 6f 75 73 65 20 70 73 32 6d 6f 75 73 65 27 0a 49  ouse ps2mouse'.I
0d70: 4e 53 44 45 53 54 54 52 45 45 3d 0a 49 4e 53 4f  NSDESTTREE=.INSO
0d80: 50 54 49 4f 4e 53 3d 2d 6d 30 36 34 34 0a 49 55  PTIONS=-m0644.IU
0d90: 53 45 3d 27 68 65 6c 70 65 72 20 74 68 72 65 61  SE='helper threa
0da0: 64 73 20 27 0a 4a 41 56 41 43 3d 2f 65 74 63 2f  ds '.JAVAC=/etc/
0db0: 6a 61 76 61 2d 63 6f 6e 66 69 67 2d 32 2f 63 75  java-config-2/cu
0dc0: 72 72 65 6e 74 2d 73 79 73 74 65 6d 2d 76 6d 2f  rrent-system-vm/
0dd0: 62 69 6e 2f 6a 61 76 61 63 0a 4a 41 56 41 43 43  bin/javac.JAVACC
0de0: 5f 48 4f 4d 45 3d 2f 75 73 72 2f 73 68 61 72 65  _HOME=/usr/share
0df0: 2f 6a 61 76 61 63 63 2f 0a 4a 41 56 41 5f 48 4f  /javacc/.JAVA_HO
0e00: 4d 45 3d 2f 65 74 63 2f 6a 61 76 61 2d 63 6f 6e  ME=/etc/java-con
0e10: 66 69 67 2d 32 2f 63 75 72 72 65 6e 74 2d 73 79  fig-2/current-sy
0e20: 73 74 65 6d 2d 76 6d 0a 4a 44 4b 5f 48 4f 4d 45  stem-vm.JDK_HOME
0e30: 3d 2f 65 74 63 2f 6a 61 76 61 2d 63 6f 6e 66 69  =/etc/java-confi
0e40: 67 2d 32 2f 63 75 72 72 65 6e 74 2d 73 79 73 74  g-2/current-syst
0e50: 65 6d 2d 76 6d 0a 4b 44 45 5f 46 55 4c 4c 5f 53  em-vm.KDE_FULL_S
0e60: 45 53 53 49 4f 4e 3d 74 72 75 65 0a 4b 44 45 5f  ESSION=true.KDE_
0e70: 49 53 5f 50 52 45 4c 49 4e 4b 45 44 3d 31 0a 4b  IS_PRELINKED=1.K
0e80: 44 45 5f 53 45 53 53 49 4f 4e 5f 55 49 44 3d 31  DE_SESSION_UID=1
0e90: 30 30 30 0a 4b 44 45 5f 53 45 53 53 49 4f 4e 5f  000.KDE_SESSION_
0ea0: 56 45 52 53 49 4f 4e 3d 34 0a 4b 45 52 4e 45 4c  VERSION=4.KERNEL
0eb0: 3d 6c 69 6e 75 78 0a 4b 45 52 4e 45 4c 5f 41 42  =linux.KERNEL_AB
0ec0: 49 3d 64 65 66 61 75 6c 74 0a 4b 45 59 57 4f 52  I=default.KEYWOR
0ed0: 44 53 3d 27 7e 78 38 36 20 7e 61 6d 64 36 34 27  DS='~x86 ~amd64'
0ee0: 0a 4b 56 3d 32 2e 36 2e 32 39 2d 74 75 78 6f 6e  .KV=2.6.29-tuxon
0ef0: 69 63 65 2d 72 33 0a 4c 41 44 53 50 41 5f 50 41  ice-r3.LADSPA_PA
0f00: 54 48 3d 2f 75 73 72 2f 6c 69 62 2f 6c 61 64 73  TH=/usr/lib/lads
0f10: 70 61 0a 4c 41 4e 47 3d 72 75 5f 52 55 2e 55 54  pa.LANG=ru_RU.UT
0f20: 46 2d 38 0a 4c 41 4e 47 55 41 47 45 3d 0a 4c 43  F-8.LANGUAGE=.LC
0f30: 44 5f 44 45 56 49 43 45 53 3d 27 62 61 79 72 61  D_DEVICES='bayra
0f40: 64 20 63 66 6f 6e 74 7a 20 63 66 6f 6e 74 7a 36  d cfontz cfontz6
0f50: 33 33 20 67 6c 6b 20 68 64 34 34 37 38 30 20 6c  33 glk hd44780 l
0f60: 62 32 31 36 20 6c 63 64 6d 30 30 31 20 6d 74 78  b216 lcdm001 mtx
0f70: 6f 72 62 20 6e 63 75 72 73 65 73 20 74 65 78 74  orb ncurses text
0f80: 27 0a 4c 43 5f 41 4c 4c 3d 0a 4c 43 5f 4e 55 4d  '.LC_ALL=.LC_NUM
0f90: 45 52 49 43 3d 50 4f 53 49 58 0a 4c 44 46 4c 41  ERIC=POSIX.LDFLA
0fa0: 47 53 3d 2d 57 6c 2c 2d 4f 31 2c 2d 2d 68 61 73  GS=-Wl,-O1,--has
0fb0: 68 2d 73 74 79 6c 65 3d 67 6e 75 2c 2d 2d 73 6f  h-style=gnu,--so
0fc0: 72 74 2d 63 6f 6d 6d 6f 6e 2c 2d 2d 61 73 2d 6e  rt-common,--as-n
0fd0: 65 65 64 65 64 0a 4c 44 46 4c 41 47 53 5f 64 65  eeded.LDFLAGS_de
0fe0: 66 61 75 6c 74 3d 0a 4c 44 50 41 54 48 3d 2f 75  fault=.LDPATH=/u
0ff0: 73 72 2f 6c 6f 63 61 6c 2f 6c 69 62 3a 2f 75 73  sr/local/lib:/us
1000: 72 2f 6c 69 62 2f 6f 70 65 6e 67 6c 2f 6e 76 69  r/lib/opengl/nvi
1010: 64 69 61 2f 6c 69 62 3a 2f 75 73 72 2f 69 36 38  dia/lib:/usr/i68
1020: 36 2d 70 63 2d 6c 69 6e 75 78 2d 67 6e 75 2f 6c  6-pc-linux-gnu/l
1030: 69 62 3a 2f 75 73 72 2f 6c 69 62 2f 67 63 63 2f  ib:/usr/lib/gcc/
1040: 69 36 38 36 2d 70 63 2d 6c 69 6e 75 78 2d 67 6e  i686-pc-linux-gn
1050: 75 2f 34 2e 33 2e 32 3a 2f 75 73 72 2f 6c 69 62  u/4.3.2:/usr/lib
1060: 2f 6e 73 70 72 3a 2f 75 73 72 2f 6c 69 62 2f 6e  /nspr:/usr/lib/n
1070: 73 73 3a 2f 75 73 72 2f 6c 69 62 2f 71 63 61 32  ss:/usr/lib/qca2
1080: 3a 2f 75 73 72 2f 6c 69 62 2f 71 74 34 3a 2f 75  :/usr/lib/qt4:/u
1090: 73 72 2f 6b 64 65 2f 33 2e 35 2f 6c 69 62 3a 2f  sr/kde/3.5/lib:/
10a0: 75 73 72 2f 71 74 2f 33 2f 6c 69 62 3a 2f 75 73  usr/qt/3/lib:/us
10b0: 72 2f 6c 69 62 2f 70 6f 73 74 67 72 65 73 71 6c  r/lib/postgresql
10c0: 2d 38 2e 33 2f 6c 69 62 3a 2f 75 73 72 2f 6c 69  -8.3/lib:/usr/li
10d0: 62 2f 70 6f 73 74 67 72 65 73 71 6c 2d 38 2e 31  b/postgresql-8.1
10e0: 2f 6c 69 62 3a 2f 6f 70 74 2f 66 69 72 65 66 6f  /lib:/opt/firefo
10f0: 78 3a 2f 75 73 72 2f 67 61 6d 65 73 2f 6c 69 62  x:/usr/games/lib
1100: 3a 2f 75 73 72 2f 67 72 61 73 73 36 32 2f 6c 69  :/usr/grass62/li
1110: 62 0a 4c 47 52 49 4e 44 45 46 3d 2f 75 73 72 2f  b.LGRINDEF=/usr/
1120: 73 68 61 72 65 2f 74 65 78 6d 66 2f 74 65 78 2f  share/texmf/tex/
1130: 6c 61 74 65 78 2f 6c 67 72 69 6e 64 2f 6c 67 72  latex/lgrind/lgr
1140: 69 6e 64 65 66 0a 4c 49 42 44 49 52 5f 64 65 66  indef.LIBDIR_def
1150: 61 75 6c 74 3d 6c 69 62 0a 4c 49 42 4f 50 54 49  ault=lib.LIBOPTI
1160: 4f 4e 53 3d 2d 6d 30 36 34 34 0a 4c 49 43 45 4e  ONS=-m0644.LICEN
1170: 53 45 3d 42 53 44 2d 32 0a 4c 49 4e 47 55 41 53  SE=BSD-2.LINGUAS
1180: 3d 72 75 0a 4c 49 52 43 5f 44 45 56 49 43 45 53  =ru.LIRC_DEVICES
1190: 3d 70 63 74 76 0a 4d 41 49 4c 3d 2f 76 61 72 2f  =pctv.MAIL=/var/
11a0: 73 70 6f 6f 6c 2f 6d 61 69 6c 2f 72 6f 6f 74 0a  spool/mail/root.
11b0: 4d 41 4b 45 4f 50 54 53 3d 2d 6a 32 0a 4d 4f 5a  MAKEOPTS=-j2.MOZ
11c0: 4c 49 4e 47 55 41 3d 72 75 0a 4d 4f 5a 5f 44 49  LINGUA=ru.MOZ_DI
11d0: 53 41 42 4c 45 5f 50 41 4e 47 4f 3d 31 0a 4d 50  SABLE_PANGO=1.MP
11e0: 44 5f 48 4f 53 54 3d 31 32 37 2e 30 2e 30 2e 31  D_HOST=127.0.0.1
11f0: 0a 4d 55 4c 54 49 4c 49 42 5f 41 42 49 53 3d 64  .MULTILIB_ABIS=d
1200: 65 66 61 75 6c 74 0a 4e 45 54 42 45 41 4e 53 3d  efault.NETBEANS=
1210: 27 61 70 69 73 75 70 70 6f 72 74 20 63 6e 64 20  'apisupport cnd 
1220: 67 72 6f 6f 76 79 20 67 73 66 20 68 61 72 6e 65  groovy gsf harne
1230: 73 73 20 69 64 65 20 69 64 65 6e 74 69 74 79 20  ss ide identity 
1240: 6a 32 65 65 20 6a 61 76 61 20 6d 6f 62 69 6c 69  j2ee java mobili
1250: 74 79 20 6e 62 20 70 68 70 20 70 72 6f 66 69 6c  ty nb php profil
1260: 65 72 20 73 6f 61 20 76 69 73 75 61 6c 77 65 62  er soa visualweb
1270: 20 77 65 62 63 6f 6d 6d 6f 6e 20 77 65 62 73 76   webcommon websv
1280: 63 63 6f 6d 6d 6f 6e 20 78 6d 6c 27 0a 4f 50 45  ccommon xml'.OPE
1290: 4e 47 4c 5f 50 52 4f 46 49 4c 45 3d 78 6f 72 67  NGL_PROFILE=xorg
12a0: 2d 78 31 31 0a 50 44 45 50 45 4e 44 3d 27 20 27  -x11.PDEPEND=' '
12b0: 0a 50 4b 47 5f 43 4f 4e 46 49 47 5f 50 41 54 48  .PKG_CONFIG_PATH
12c0: 3d 2f 75 73 72 2f 71 74 2f 33 2f 6c 69 62 2f 70  =/usr/qt/3/lib/p
12d0: 6b 67 63 6f 6e 66 69 67 0a 50 4f 52 54 41 47 45  kgconfig.PORTAGE
12e0: 5f 43 4f 4d 50 52 45 53 53 5f 45 58 43 4c 55 44  _COMPRESS_EXCLUD
12f0: 45 5f 53 55 46 46 49 58 45 53 3d 27 63 73 73 20  E_SUFFIXES='css 
1300: 67 69 66 20 68 74 6d 5b 6c 5d 3f 20 6a 70 5b 65  gif htm[l]? jp[e
1310: 5d 3f 67 20 6a 73 20 70 64 66 20 70 6e 67 27 0a  ]?g js pdf png'.
1320: 50 4f 52 54 41 47 45 5f 45 43 4c 41 53 53 5f 57  PORTAGE_ECLASS_W
1330: 41 52 4e 49 4e 47 5f 45 4e 41 42 4c 45 3d 30 0a  ARNING_ENABLE=0.
1340: 50 4f 52 54 41 47 45 5f 4e 49 43 45 4e 45 53 53  PORTAGE_NICENESS
1350: 3d 33 0a 50 52 45 4c 49 4e 4b 5f 50 41 54 48 5f  =3.PRELINK_PATH_
1360: 4d 41 53 4b 3d 2f 75 73 72 2f 6c 69 62 2f 6b 6c  MASK=/usr/lib/kl
1370: 69 62 63 0a 50 52 4f 46 49 4c 45 5f 4f 4e 4c 59  ibc.PROFILE_ONLY
1380: 5f 56 41 52 49 41 42 4c 45 53 3d 27 41 52 43 48  _VARIABLES='ARCH
1390: 20 45 4c 49 42 43 20 4b 45 52 4e 45 4c 20 55 53   ELIBC KERNEL US
13a0: 45 52 4c 41 4e 44 27 0a 50 52 4f 50 45 52 54 49  ERLAND'.PROPERTI
13b0: 45 53 3d 0a 50 52 4f 56 49 44 45 3d 0a 51 4d 41  ES=.PROVIDE=.QMA
13c0: 4b 45 53 50 45 43 3d 6c 69 6e 75 78 2d 67 2b 2b  KESPEC=linux-g++
13d0: 0a 51 54 44 49 52 3d 2f 75 73 72 2f 71 74 2f 33  .QTDIR=/usr/qt/3
13e0: 0a 51 54 5f 50 4c 55 47 49 4e 5f 50 41 54 48 3d  .QT_PLUGIN_PATH=
13f0: 2f 68 6f 6d 65 2f 75 73 65 72 2f 2e 6b 64 65 34  /home/user/.kde4
1400: 2f 6c 69 62 2f 6b 64 65 34 2f 70 6c 75 67 69 6e  /lib/kde4/plugin
1410: 73 2f 3a 2f 75 73 72 2f 6c 69 62 2f 6b 64 65 34  s/:/usr/lib/kde4
1420: 2f 70 6c 75 67 69 6e 73 2f 0a 52 44 45 50 45 4e  /plugins/.RDEPEN
1430: 44 3d 24 27 61 70 70 2d 63 72 79 70 74 2f 67 6e  D=$'app-crypt/gn
1440: 75 70 67 5c 6e 5c 74 64 65 76 2d 6c 61 6e 67 2f  upg\n\tdev-lang/
1450: 74 63 6c 5c 6e 5c 74 21 68 65 6c 70 65 72 3f 20  tcl\n\t!helper? 
1460: 28 20 64 65 76 2d 74 63 6c 74 6b 2f 74 63 6c 78  ( dev-tcltk/tclx
1470: 20 29 20 20 27 0a 52 45 43 4f 4c 4c 5f 45 58 54   )  '.RECOLL_EXT
1480: 52 41 5f 44 42 53 3d 2f 76 61 72 2f 6c 69 62 2f  RA_DBS=/var/lib/
1490: 72 65 63 6f 6c 6c 2f 73 74 6f 72 61 67 65 2f 78  recoll/storage/x
14a0: 61 70 69 61 6e 64 62 3a 2f 76 61 72 2f 6c 69 62  apiandb:/var/lib
14b0: 2f 72 65 63 6f 6c 6c 2f 64 6f 63 75 6d 65 6e 74  /recoll/document
14c0: 61 74 69 6f 6e 2f 78 61 70 69 61 6e 64 62 3a 2f  ation/xapiandb:/
14d0: 76 61 72 2f 6c 69 62 2f 72 65 63 6f 6c 6c 2f 68  var/lib/recoll/h
14e0: 64 61 33 2f 78 61 70 69 61 6e 64 62 3a 2f 76 61  da3/xapiandb:/va
14f0: 72 2f 6c 69 62 2f 72 65 63 6f 6c 6c 2f 72 69 6d  r/lib/recoll/rim
1500: 6d 61 2f 78 61 70 69 61 6e 64 62 0a 52 45 53 54  ma/xapiandb.REST
1510: 52 49 43 54 3d 0a 52 55 42 59 4f 50 54 3d 2d 72  RICT=.RUBYOPT=-r
1520: 61 75 74 6f 5f 67 65 6d 0a 53 3d 2f 76 61 72 2f  auto_gem.S=/var/
1530: 74 6d 70 2f 70 6f 72 74 61 67 65 2f 64 65 76 2d  tmp/portage/dev-
1540: 74 63 6c 74 6b 2f 74 63 6c 67 70 67 2d 39 39 39  tcltk/tclgpg-999
1550: 39 2f 77 6f 72 6b 2f 74 63 6c 67 70 67 2d 39 39  9/work/tclgpg-99
1560: 39 39 0a 53 41 4e 44 42 4f 58 5f 44 45 42 55 47  99.SANDBOX_DEBUG
1570: 3d 30 0a 53 41 4e 44 42 4f 58 5f 44 45 4e 59 3d  =0.SANDBOX_DENY=
1580: 2f 65 74 63 2f 6c 64 2e 73 6f 2e 70 72 65 6c 6f  /etc/ld.so.prelo
1590: 61 64 0a 53 41 4e 44 42 4f 58 5f 50 49 44 3d 32  ad.SANDBOX_PID=2
15a0: 32 34 35 0a 53 41 4e 44 42 4f 58 5f 50 52 45 44  245.SANDBOX_PRED
15b0: 49 43 54 3d 2f 76 61 72 2f 74 6d 70 2f 70 6f 72  ICT=/var/tmp/por
15c0: 74 61 67 65 2f 64 65 76 2d 74 63 6c 74 6b 2f 74  tage/dev-tcltk/t
15d0: 63 6c 67 70 67 2d 39 39 39 39 2f 68 6f 6d 65 64  clgpg-9999/homed
15e0: 69 72 3a 2f 64 65 76 2f 63 72 79 70 74 6f 0a 53  ir:/dev/crypto.S
15f0: 41 4e 44 42 4f 58 5f 52 45 41 44 3d 2f 3a 2f 65  ANDBOX_READ=/:/e
1600: 74 63 2f 73 75 62 76 65 72 73 69 6f 6e 3a 2f 76  tc/subversion:/v
1610: 61 72 2f 74 6d 70 3a 2f 76 61 72 2f 74 6d 70 2f  ar/tmp:/var/tmp/
1620: 63 63 61 63 68 65 3a 2f 76 61 72 2f 74 6d 70 2f  ccache:/var/tmp/
1630: 63 63 61 63 68 65 0a 53 41 4e 44 42 4f 58 5f 56  ccache.SANDBOX_V
1640: 45 52 42 4f 53 45 3d 31 0a 53 41 4e 44 42 4f 58  ERBOSE=1.SANDBOX
1650: 5f 57 52 49 54 45 3d 3a 2f 64 65 76 2f 63 6f 6e  _WRITE=:/dev/con
1660: 73 6f 6c 65 3a 2f 64 65 76 2f 66 64 3a 2f 64 65  sole:/dev/fd:/de
1670: 76 2f 66 75 6c 6c 3a 2f 64 65 76 2f 6e 75 6c 6c  v/full:/dev/null
1680: 3a 2f 64 65 76 2f 70 74 73 2f 3a 2f 64 65 76 2f  :/dev/pts/:/dev/
1690: 70 74 79 3a 2f 64 65 76 2f 73 68 6d 3a 2f 64 65  pty:/dev/shm:/de
16a0: 76 2f 74 74 73 3a 2f 64 65 76 2f 74 74 79 3a 2f  v/tts:/dev/tty:/
16b0: 64 65 76 2f 76 63 2f 3a 2f 64 65 76 2f 7a 65 72  dev/vc/:/dev/zer
16c0: 6f 3a 2f 6d 6e 74 2f 73 72 63 2f 64 69 73 74 66  o:/mnt/src/distf
16d0: 69 6c 65 73 2f 67 65 6e 74 6f 6f 2f 64 69 73 74  iles/gentoo/dist
16e0: 66 69 6c 65 73 2f 73 76 6e 2d 73 72 63 3a 2f 70  files/svn-src:/p
16f0: 72 6f 63 2f 73 65 6c 66 2f 66 64 3a 2f 74 6d 70  roc/self/fd:/tmp
1700: 2f 3a 2f 75 73 72 2f 6c 69 62 33 32 2f 63 66 3a  /:/usr/lib32/cf:
1710: 2f 75 73 72 2f 6c 69 62 33 32 2f 63 6f 6e 66 74  /usr/lib32/conft
1720: 65 73 74 3a 2f 75 73 72 2f 6c 69 62 36 34 2f 63  est:/usr/lib64/c
1730: 66 3a 2f 75 73 72 2f 6c 69 62 36 34 2f 63 6f 6e  f:/usr/lib64/con
1740: 66 74 65 73 74 3a 2f 75 73 72 2f 6c 69 62 2f 63  ftest:/usr/lib/c
1750: 66 3a 2f 75 73 72 2f 6c 69 62 2f 63 6f 6e 66 74  f:/usr/lib/conft
1760: 65 73 74 3a 2f 75 73 72 2f 74 6d 70 2f 63 66 3a  est:/usr/tmp/cf:
1770: 2f 75 73 72 2f 74 6d 70 2f 63 6f 6e 66 74 65 73  /usr/tmp/conftes
1780: 74 3a 2f 76 61 72 2f 74 6d 70 3a 2f 76 61 72 2f  t:/var/tmp:/var/
1790: 74 6d 70 2f 3a 2f 76 61 72 2f 74 6d 70 2f 63 63  tmp/:/var/tmp/cc
17a0: 61 63 68 65 3a 2f 76 61 72 2f 74 6d 70 2f 70 6f  ache:/var/tmp/po
17b0: 72 74 61 67 65 2f 64 65 76 2d 74 63 6c 74 6b 2f  rtage/dev-tcltk/
17c0: 74 63 6c 67 70 67 2d 39 39 39 39 2f 68 6f 6d 65  tclgpg-9999/home
17d0: 64 69 72 2f 2e 62 61 73 68 5f 68 69 73 74 6f 72  dir/.bash_histor
17e0: 79 3a 2f 76 61 72 2f 74 6d 70 2f 63 63 61 63 68  y:/var/tmp/ccach
17f0: 65 0a 53 41 4e 45 5f 42 41 43 4b 45 4e 44 53 3d  e.SANE_BACKENDS=
1800: 27 65 70 73 6f 6e 20 73 6e 61 70 73 63 61 6e 27  'epson snapscan'
1810: 0a 53 41 4e 45 5f 43 4f 4e 46 49 47 5f 44 49 52  .SANE_CONFIG_DIR
1820: 3d 2f 65 74 63 2f 73 61 6e 65 2e 64 0a 53 41 56  =/etc/sane.d.SAV
1830: 45 48 49 53 54 3d 27 24 48 49 53 54 53 49 5a 45  EHIST='$HISTSIZE
1840: 27 0a 53 45 53 53 49 4f 4e 5f 4d 41 4e 41 47 45  '.SESSION_MANAGE
1850: 52 3d 6c 6f 63 61 6c 2f 6c 6f 63 61 6c 68 6f 73  R=local/localhos
1860: 74 3a 40 2f 74 6d 70 2f 2e 49 43 45 2d 75 6e 69  t:@/tmp/.ICE-uni
1870: 78 2f 31 32 34 33 34 2c 75 6e 69 78 2f 6c 6f 63  x/12434,unix/loc
1880: 61 6c 68 6f 73 74 3a 2f 74 6d 70 2f 2e 49 43 45  alhost:/tmp/.ICE
1890: 2d 75 6e 69 78 2f 31 32 34 33 34 0a 53 47 4d 4c  -unix/12434.SGML
18a0: 5f 43 41 54 41 4c 4f 47 5f 46 49 4c 45 53 3d 2f  _CATALOG_FILES=/
18b0: 65 74 63 2f 73 67 6d 6c 2f 73 67 6d 6c 2d 64 6f  etc/sgml/sgml-do
18c0: 63 62 6f 6f 6b 2e 63 61 74 3a 2f 65 74 63 2f 73  cbook.cat:/etc/s
18d0: 67 6d 6c 2f 6f 70 65 6e 6a 61 64 65 2d 31 2e 33  gml/openjade-1.3
18e0: 2e 32 2e 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c  .2.cat:/etc/sgml
18f0: 2f 6c 69 6e 75 78 64 6f 63 2e 63 61 74 3a 2f 65  /linuxdoc.cat:/e
1900: 74 63 2f 73 67 6d 6c 2f 78 6d 6c 2d 64 6f 63 62  tc/sgml/xml-docb
1910: 6f 6f 6b 2d 34 2e 32 2e 63 61 74 3a 2f 65 74 63  ook-4.2.cat:/etc
1920: 2f 73 67 6d 6c 2f 78 6d 6c 2d 64 6f 63 62 6f 6f  /sgml/xml-docboo
1930: 6b 2d 34 2e 34 2e 63 61 74 3a 2f 65 74 63 2f 73  k-4.4.cat:/etc/s
1940: 67 6d 6c 2f 78 6d 6c 2d 64 6f 63 62 6f 6f 6b 2d  gml/xml-docbook-
1950: 34 2e 35 2e 63 61 74 3a 2f 65 74 63 2f 73 67 6d  4.5.cat:/etc/sgm
1960: 6c 2f 73 67 6d 6c 2d 65 6e 74 2e 63 61 74 3a 2f  l/sgml-ent.cat:/
1970: 65 74 63 2f 73 67 6d 6c 2f 78 6d 6c 2d 73 69 6d  etc/sgml/xml-sim
1980: 70 6c 65 2d 64 6f 63 62 6f 6f 6b 2d 31 2e 30 2e  ple-docbook-1.0.
1990: 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f 78 6d  cat:/etc/sgml/xm
19a0: 6c 2d 73 69 6d 70 6c 65 2d 64 6f 63 62 6f 6f 6b  l-simple-docbook
19b0: 2d 34 2e 31 2e 32 2e 34 2e 63 61 74 3a 2f 65 74  -4.1.2.4.cat:/et
19c0: 63 2f 73 67 6d 6c 2f 78 6d 6c 2d 64 6f 63 62 6f  c/sgml/xml-docbo
19d0: 6f 6b 2d 34 2e 31 2e 32 2e 63 61 74 3a 2f 65 74  ok-4.1.2.cat:/et
19e0: 63 2f 73 67 6d 6c 2f 73 67 6d 6c 2d 64 6f 63 62  c/sgml/sgml-docb
19f0: 6f 6f 6b 2d 33 2e 30 2e 63 61 74 3a 2f 65 74 63  ook-3.0.cat:/etc
1a00: 2f 73 67 6d 6c 2f 73 67 6d 6c 2d 64 6f 63 62 6f  /sgml/sgml-docbo
1a10: 6f 6b 2d 33 2e 31 2e 63 61 74 3a 2f 65 74 63 2f  ok-3.1.cat:/etc/
1a20: 73 67 6d 6c 2f 73 67 6d 6c 2d 64 6f 63 62 6f 6f  sgml/sgml-docboo
1a30: 6b 2d 34 2e 30 2e 63 61 74 3a 2f 65 74 63 2f 73  k-4.0.cat:/etc/s
1a40: 67 6d 6c 2f 73 67 6d 6c 2d 64 6f 63 62 6f 6f 6b  gml/sgml-docbook
1a50: 2d 34 2e 31 2e 63 61 74 3a 2f 65 74 63 2f 73 67  -4.1.cat:/etc/sg
1a60: 6d 6c 2f 73 67 6d 6c 2d 64 6f 63 62 6f 6f 6b 2d  ml/sgml-docbook-
1a70: 34 2e 32 2e 63 61 74 3a 2f 65 74 63 2f 73 67 6d  4.2.cat:/etc/sgm
1a80: 6c 2f 73 67 6d 6c 2d 64 6f 63 62 6f 6f 6b 2d 34  l/sgml-docbook-4
1a90: 2e 34 2e 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c  .4.cat:/etc/sgml
1aa0: 2f 73 67 6d 6c 2d 6c 69 74 65 2e 63 61 74 3a 2f  /sgml-lite.cat:/
1ab0: 65 74 63 2f 73 67 6d 6c 2f 64 73 73 73 6c 2d 64  etc/sgml/dsssl-d
1ac0: 6f 63 62 6f 6f 6b 2d 73 74 79 6c 65 73 68 65 65  ocbook-styleshee
1ad0: 74 73 2e 63 61 74 0a 53 4c 4f 54 3d 30 0a 53 50  ts.cat.SLOT=0.SP
1ae0: 52 4f 4d 50 54 3d 24 27 5c 33 32 30 5c 32 33 36  ROMPT=$'\320\236
1af0: 5c 33 32 31 5c 32 31 30 5c 33 32 30 5c 32 37 30  \321\210\320\270
1b00: 5c 33 32 30 5c 32 36 31 5c 33 32 30 5c 32 37 32  \320\261\320\272
1b10: 5c 33 32 30 5c 32 36 30 21 20 5c 33 32 30 5c 32  \320\260! \320\2
1b20: 32 32 5c 33 32 31 5c 32 31 33 20 5c 33 32 31 5c  22\321\213 \321\
1b30: 32 30 35 5c 33 32 30 5c 32 37 36 5c 33 32 31 5c  205\320\276\321\
1b40: 32 30 32 5c 33 32 30 5c 32 36 35 5c 33 32 30 5c  202\320\265\320\
1b50: 32 37 33 5c 33 32 30 5c 32 37 30 20 5c 33 32 30  273\320\270 \320
1b60: 5c 32 36 32 5c 33 32 30 5c 32 36 32 5c 33 32 30  \262\320\262\320
1b70: 5c 32 36 35 5c 33 32 31 5c 32 30 31 5c 33 32 31  \265\321\201\321
1b80: 5c 32 30 32 5c 33 32 30 5c 32 37 30 20 25 72 20  \202\320\270 %r 
1b90: 5c 33 32 30 5c 32 36 32 5c 33 32 30 5c 32 37 34  \320\262\320\274
1ba0: 5c 33 32 30 5c 32 36 35 5c 33 32 31 5c 32 30 31  \320\265\321\201
1bb0: 5c 33 32 31 5c 32 30 32 5c 33 32 30 5c 32 37 36  \321\202\320\276
1bc0: 20 25 52 3f 20 28 5b 59 5d 65 73 2f 5b 4e 5d 6f   %R? ([Y]es/[N]o
1bd0: 2f 5b 45 5d 64 69 74 2f 5b 41 5d 62 6f 72 74 29  /[E]dit/[A]bort)
1be0: 20 27 0a 53 52 43 5f 55 52 49 3d 0a 53 54 52 49   '.SRC_URI=.STRI
1bf0: 47 49 5f 50 4c 55 47 49 4e 5f 50 41 54 48 3d 2f  GI_PLUGIN_PATH=/
1c00: 75 73 72 2f 6c 69 62 2f 73 74 72 69 67 69 3a 0a  usr/lib/strigi:.
1c10: 53 55 42 56 45 52 53 49 4f 4e 5f 44 45 50 45 4e  SUBVERSION_DEPEN
1c20: 44 3d 24 27 64 65 76 2d 75 74 69 6c 2f 73 75 62  D=$'dev-util/sub
1c30: 76 65 72 73 69 6f 6e 5c 6e 5c 74 6e 65 74 2d 6d  version\n\tnet-m
1c40: 69 73 63 2f 72 73 79 6e 63 27 0a 53 55 44 4f 5f  isc/rsync'.SUDO_
1c50: 43 4f 4d 4d 41 4e 44 3d 2f 62 69 6e 2f 7a 73 68  COMMAND=/bin/zsh
1c60: 0a 53 55 44 4f 5f 47 49 44 3d 31 30 30 30 0a 53  .SUDO_GID=1000.S
1c70: 55 44 4f 5f 55 49 44 3d 31 30 30 30 0a 53 55 44  UDO_UID=1000.SUD
1c80: 4f 5f 55 53 45 52 3d 75 73 65 72 0a 54 45 58 49  O_USER=user.TEXI
1c90: 4e 50 55 54 53 3d 2f 75 73 72 2f 6c 69 62 2f 6f  NPUTS=/usr/lib/o
1ca0: 63 61 6d 6c 2f 6f 63 61 6d 6c 64 6f 63 3a 0a 55  caml/ocamldoc:.U
1cb0: 53 42 5f 44 45 56 46 53 5f 50 41 54 48 3d 2f 64  SB_DEVFS_PATH=/d
1cc0: 65 76 2f 62 75 73 2f 75 73 62 0a 55 53 45 3d 27  ev/bus/usb.USE='
1cd0: 65 6c 69 62 63 5f 67 6c 69 62 63 20 6b 65 72 6e  elibc_glibc kern
1ce0: 65 6c 5f 6c 69 6e 75 78 20 74 68 72 65 61 64 73  el_linux threads
1cf0: 20 75 73 65 72 6c 61 6e 64 5f 47 4e 55 20 78 38   userland_GNU x8
1d00: 36 27 0a 55 53 45 52 44 4f 43 53 3d 2f 68 6f 6d  6'.USERDOCS=/hom
1d10: 65 2f 75 73 65 72 2f 4d 79 44 6f 63 75 6d 65 6e  e/user/MyDocumen
1d20: 74 73 0a 55 53 45 52 4c 41 4e 44 3d 47 4e 55 0a  ts.USERLAND=GNU.
1d30: 55 53 45 52 4e 41 4d 45 3d 72 6f 6f 74 0a 55 53  USERNAME=root.US
1d40: 45 52 50 49 43 54 55 52 45 53 3d 2f 68 6f 6d 65  ERPICTURES=/home
1d50: 2f 75 73 65 72 2f 4d 79 44 6f 63 75 6d 65 6e 74  /user/MyDocument
1d60: 73 2f 50 69 63 74 75 72 65 73 0a 55 53 45 52 53  s/Pictures.USERS
1d70: 43 41 4e 4e 45 44 50 49 43 54 55 52 45 53 3d 2f  CANNEDPICTURES=/
1d80: 68 6f 6d 65 2f 75 73 65 72 2f 4d 79 44 6f 63 75  home/user/MyDocu
1d90: 6d 65 6e 74 73 2f 50 69 63 74 75 72 65 73 2f 73  ments/Pictures/s
1da0: 63 61 6e 6e 65 64 0a 56 49 44 45 4f 5f 43 41 52  canned.VIDEO_CAR
1db0: 44 53 3d 0a 57 41 4e 54 5f 41 55 54 4f 43 4f 4e  DS=.WANT_AUTOCON
1dc0: 46 3d 32 2e 35 0a 57 41 4e 54 5f 41 55 54 4f 4d  F=2.5.WANT_AUTOM
1dd0: 41 4b 45 3d 31 2e 31 30 0a 57 49 4e 44 4f 57 49  AKE=1.10.WINDOWI
1de0: 44 3d 31 34 36 38 30 33 34 30 0a 57 49 4e 44 4f  D=14680340.WINDO
1df0: 57 50 41 54 48 3d 37 0a 58 43 55 52 53 4f 52 5f  WPATH=7.XCURSOR_
1e00: 54 48 45 4d 45 3d 42 6c 75 65 0a 58 44 47 5f 43  THEME=Blue.XDG_C
1e10: 4f 4e 46 49 47 5f 44 49 52 53 3d 2f 65 74 63 2f  ONFIG_DIRS=/etc/
1e20: 78 64 67 0a 58 44 47 5f 44 41 54 41 5f 44 49 52  xdg.XDG_DATA_DIR
1e30: 53 3d 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 61  S=/usr/local/sha
1e40: 72 65 3a 2f 75 73 72 2f 6b 64 65 2f 33 2e 35 2f  re:/usr/kde/3.5/
1e50: 73 68 61 72 65 3a 2f 75 73 72 2f 73 68 61 72 65  share:/usr/share
1e60: 0a 58 44 47 5f 4d 45 4e 55 5f 50 52 45 46 49 58  .XDG_MENU_PREFIX
1e70: 3d 6b 64 65 2d 34 2e 32 2d 0a 58 44 47 5f 53 45  =kde-4.2-.XDG_SE
1e80: 53 53 49 4f 4e 5f 43 4f 4f 4b 49 45 3d 35 62 62  SSION_COOKIE=5bb
1e90: 66 32 34 61 35 63 37 33 36 30 37 33 35 34 35 36  f24a5c7360735456
1ea0: 39 62 37 30 30 34 35 65 61 38 63 36 63 2d 31 32  9b70045ea8c6c-12
1eb0: 34 39 36 32 39 37 35 38 2e 39 32 36 33 35 31 2d  49629758.926351-
1ec0: 31 32 37 34 36 30 36 32 35 35 0a 58 44 4d 5f 4d  1274606255.XDM_M
1ed0: 41 4e 41 47 45 44 3d 6d 65 74 68 6f 64 3d 63 6c  ANAGED=method=cl
1ee0: 61 73 73 69 63 0a 58 45 52 43 45 53 43 5f 4e 4c  assic.XERCESC_NL
1ef0: 53 5f 48 4f 4d 45 3d 2f 75 73 72 2f 73 68 61 72  S_HOME=/usr/shar
1f00: 65 2f 78 65 72 63 65 73 2d 63 2f 6d 73 67 0a 5f  e/xerces-c/msg._
1f10: 3d 50 4b 47 5f 49 4e 53 54 41 4c 4c 5f 4d 41 53  =PKG_INSTALL_MAS
1f20: 4b 0a 5f 45 5f 44 4f 43 44 45 53 54 54 52 45 45  K._E_DOCDESTTREE
1f30: 5f 3d 0a 5f 45 5f 45 58 45 44 45 53 54 54 52 45  _=._E_EXEDESTTRE
1f40: 45 5f 3d 0a 5f 5f 47 4c 5f 44 45 46 41 55 4c 54  E_=.__GL_DEFAULT
1f50: 5f 4c 4f 47 5f 41 4e 49 53 4f 3d 30 0a 5f 5f 47  _LOG_ANISO=0.__G
1f60: 4c 5f 46 53 41 41 5f 4d 4f 44 45 3d 30 0a 5f 5f  L_FSAA_MODE=0.__
1f70: 47 4c 5f 53 59 4e 43 5f 54 4f 5f 56 42 4c 41 4e  GL_SYNC_TO_VBLAN
1f80: 4b 3d 30 0a 5f 5f 5f 45 43 4c 41 53 53 5f 52 45  K=0.___ECLASS_RE
1f90: 43 55 52 5f 4d 55 4c 54 49 4c 49 42 3d 79 65 73  CUR_MULTILIB=yes
1fa0: 0a 5f 5f 5f 45 43 4c 41 53 53 5f 52 45 43 55 52  .___ECLASS_RECUR
1fb0: 5f 54 4f 4f 4c 43 48 41 49 4e 5f 46 55 4e 43 53  _TOOLCHAIN_FUNCS
1fc0: 3d 79 65 73 0a 63 6f 6e 66 3d 74 63 6c 67 70 67  =yes.conf=tclgpg
1fd0: 2d 39 39 39 39 2d 72 30 0a 45 4c 54 5f 66 69 6e  -9999-r0.ELT_fin
1fe0: 64 5f 6c 74 6d 61 69 6e 5f 73 68 20 28 29 20 0a  d_ltmain_sh () .
1ff0: 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20 78 3d 3b  { .    local x=;
2000: 0a 20 20 20 20 6c 6f 63 61 6c 20 64 69 72 6c 69  .    local dirli
2010: 73 74 3d 3b 0a 20 20 20 20 66 6f 72 20 78 20 69  st=;.    for x i
2020: 6e 20 24 28 66 69 6e 64 20 22 24 7b 53 7d 22 20  n $(find "${S}" 
2030: 2d 6e 61 6d 65 20 27 6c 74 6d 61 69 6e 2e 73 68  -name 'ltmain.sh
2040: 27 29 3b 0a 20 20 20 20 64 6f 0a 20 20 20 20 20  ');.    do.     
2050: 20 20 20 64 69 72 6c 69 73 74 3d 22 24 7b 64 69     dirlist="${di
2060: 72 6c 69 73 74 7d 20 24 7b 78 25 2f 2a 7d 22 3b  rlist} ${x%/*}";
2070: 0a 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 65  .    done;.    e
2080: 63 68 6f 20 22 24 7b 64 69 72 6c 69 73 74 7d 22  cho "${dirlist}"
2090: 0a 7d 0a 45 4c 54 5f 6c 69 62 74 6f 6f 6c 5f 76  .}.ELT_libtool_v
20a0: 65 72 73 69 6f 6e 20 28 29 20 0a 7b 20 0a 20 20  ersion () .{ .  
20b0: 20 20 6c 6f 63 61 6c 20 6c 74 6d 61 69 6e 5f 73    local ltmain_s
20c0: 68 3d 24 31 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  h=$1;.    local 
20d0: 76 65 72 73 69 6f 6e 3d 3b 0a 20 20 20 20 76 65  version=;.    ve
20e0: 72 73 69 6f 6e 3d 24 28 65 76 61 6c 20 24 28 67  rsion=$(eval $(g
20f0: 72 65 70 20 2d 65 20 27 5e 5b 5b 3a 73 70 61 63  rep -e '^[[:spac
2100: 65 3a 5d 5d 2a 56 45 52 53 49 4f 4e 3d 27 20 22  e:]]*VERSION=' "
2110: 24 7b 6c 74 6d 61 69 6e 5f 73 68 7d 22 29 3b 20  ${ltmain_sh}"); 
2120: 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
2130: 20 20 65 63 68 6f 20 22 24 7b 56 45 52 53 49 4f    echo "${VERSIO
2140: 4e 7d 22 29 3b 0a 20 20 20 20 5b 5b 20 2d 7a 20  N}");.    [[ -z 
2150: 24 7b 76 65 72 73 69 6f 6e 7d 20 5d 5d 20 26 26  ${version} ]] &&
2160: 20 76 65 72 73 69 6f 6e 3d 22 30 22 3b 0a 20 20   version="0";.  
2170: 20 20 65 63 68 6f 20 22 24 7b 76 65 72 73 69 6f    echo "${versio
2180: 6e 7d 22 0a 7d 0a 45 4c 54 5f 74 72 79 5f 61 6e  n}".}.ELT_try_an
2190: 64 5f 61 70 70 6c 79 5f 70 61 74 63 68 20 28 29  d_apply_patch ()
21a0: 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20 72   .{ .    local r
21b0: 65 74 3d 30 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  et=0;.    local 
21c0: 66 69 6c 65 3d 24 31 3b 0a 20 20 20 20 6c 6f 63  file=$1;.    loc
21d0: 61 6c 20 70 61 74 63 68 3d 24 32 3b 0a 20 20 20  al patch=$2;.   
21e0: 20 69 66 20 70 61 74 63 68 20 2d 70 30 20 2d 2d   if patch -p0 --
21f0: 64 72 79 2d 72 75 6e 20 22 24 7b 66 69 6c 65 7d  dry-run "${file}
2200: 22 20 22 24 7b 70 61 74 63 68 7d 22 20 3e 26 22  " "${patch}" >&"
2210: 24 7b 54 7d 2f 65 6c 69 62 74 6f 6f 6c 2e 6c 6f  ${T}/elibtool.lo
2220: 67 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  g"; then.       
2230: 20 65 69 6e 66 6f 20 22 20 20 41 70 70 6c 79 69   einfo "  Applyi
2240: 6e 67 20 24 28 62 61 73 65 6e 61 6d 65 20 22 24  ng $(basename "$
2250: 28 64 69 72 6e 61 6d 65 20 22 24 7b 70 61 74 63  (dirname "${patc
2260: 68 7d 22 29 22 29 2d 24 7b 70 61 74 63 68 23 23  h}")")-${patch##
2270: 2a 2f 7d 2e 70 61 74 63 68 20 2e 2e 2e 22 3b 0a  */}.patch ...";.
2280: 20 20 20 20 20 20 20 20 70 61 74 63 68 20 2d 70          patch -p
2290: 30 20 2d 67 30 20 2d 2d 6e 6f 2d 62 61 63 6b 75  0 -g0 --no-backu
22a0: 70 2d 69 66 2d 6d 69 73 6d 61 74 63 68 20 22 24  p-if-mismatch "$
22b0: 7b 66 69 6c 65 7d 22 20 22 24 7b 70 61 74 63 68  {file}" "${patch
22c0: 7d 22 20 3e 26 22 24 7b 54 7d 2f 65 6c 69 62 74  }" >&"${T}/elibt
22d0: 6f 6f 6c 2e 6c 6f 67 22 3b 0a 20 20 20 20 20 20  ool.log";.      
22e0: 20 20 72 65 74 3d 24 3f 3b 0a 20 20 20 20 20 20    ret=$?;.      
22f0: 20 20 65 78 70 6f 72 74 20 45 4c 54 5f 41 50 50    export ELT_APP
2300: 4c 49 45 44 5f 50 41 54 43 48 45 53 3d 22 24 7b  LIED_PATCHES="${
2310: 45 4c 54 5f 41 50 50 4c 49 45 44 5f 50 41 54 43  ELT_APPLIED_PATC
2320: 48 45 53 7d 20 24 7b 70 61 74 63 68 23 23 2a 2f  HES} ${patch##*/
2330: 7d 22 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20  }";.    else.   
2340: 20 20 20 20 20 72 65 74 3d 31 3b 0a 20 20 20 20       ret=1;.    
2350: 66 69 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 22  fi;.    return "
2360: 24 7b 72 65 74 7d 22 0a 7d 0a 45 4c 54 5f 77 61  ${ret}".}.ELT_wa
2370: 6c 6b 5f 70 61 74 63 68 65 73 20 28 29 20 0a 7b  lk_patches () .{
2380: 20 0a 20 20 20 20 6c 6f 63 61 6c 20 78 3d 3b 0a   .    local x=;.
2390: 20 20 20 20 6c 6f 63 61 6c 20 79 3d 3b 0a 20 20      local y=;.  
23a0: 20 20 6c 6f 63 61 6c 20 72 65 74 3d 31 3b 0a 20    local ret=1;. 
23b0: 20 20 20 6c 6f 63 61 6c 20 66 69 6c 65 3d 24 31     local file=$1
23c0: 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 70 61 74 63  ;.    local patc
23d0: 68 5f 73 65 74 3d 24 32 3b 0a 20 20 20 20 6c 6f  h_set=$2;.    lo
23e0: 63 61 6c 20 70 61 74 63 68 5f 64 69 72 3d 3b 0a  cal patch_dir=;.
23f0: 20 20 20 20 6c 6f 63 61 6c 20 72 65 6d 5f 69 6e      local rem_in
2400: 74 5f 64 65 70 3d 24 33 3b 0a 20 20 20 20 69 66  t_dep=$3;.    if
2410: 20 5b 5b 20 2d 6e 20 24 7b 70 61 74 63 68 5f 73   [[ -n ${patch_s
2420: 65 74 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  et} ]]; then.   
2430: 20 20 20 20 20 69 66 20 5b 5b 20 2d 64 20 24 7b       if [[ -d ${
2440: 45 4c 54 5f 50 41 54 43 48 5f 44 49 52 7d 2f 24  ELT_PATCH_DIR}/$
2450: 7b 70 61 74 63 68 5f 73 65 74 7d 20 5d 5d 3b 20  {patch_set} ]]; 
2460: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20  then.           
2470: 20 70 61 74 63 68 5f 64 69 72 3d 22 24 7b 45 4c   patch_dir="${EL
2480: 54 5f 50 41 54 43 48 5f 44 49 52 7d 2f 24 7b 70  T_PATCH_DIR}/${p
2490: 61 74 63 68 5f 73 65 74 7d 22 3b 0a 20 20 20 20  atch_set}";.    
24a0: 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20      else.       
24b0: 20 20 20 20 20 72 65 74 75 72 6e 20 22 24 7b 72       return "${r
24c0: 65 74 7d 22 3b 0a 20 20 20 20 20 20 20 20 66 69  et}";.        fi
24d0: 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 78 20  ;.        for x 
24e0: 69 6e 20 24 28 6c 73 20 2d 64 20 22 24 7b 70 61  in $(ls -d "${pa
24f0: 74 63 68 5f 64 69 72 7d 22 2f 2a 20 32 3e 20 2f  tch_dir}"/* 2> /
2500: 64 65 76 2f 6e 75 6c 6c 20 7c 20 67 72 65 70 20  dev/null | grep 
2510: 2d 76 20 27 43 56 53 27 20 7c 20 73 6f 72 74 20  -v 'CVS' | sort 
2520: 2d 72 29 3b 0a 20 20 20 20 20 20 20 20 64 6f 0a  -r);.        do.
2530: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b              if [
2540: 5b 20 2d 6e 20 24 7b 78 7d 20 26 26 20 2d 66 20  [ -n ${x} && -f 
2550: 24 7b 78 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  ${x} ]]; then.  
2560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
2570: 20 5b 5b 20 2d 6e 20 24 7b 72 65 6d 5f 69 6e 74   [[ -n ${rem_int
2580: 5f 64 65 70 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20  _dep} ]]; then. 
2590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
25a0: 20 20 20 73 65 64 20 2d 65 20 22 73 7c 40 52 45     sed -e "s|@RE
25b0: 4d 5f 49 4e 54 5f 44 45 50 40 7c 24 7b 72 65 6d  M_INT_DEP@|${rem
25c0: 5f 69 6e 74 5f 64 65 70 7d 7c 67 22 20 24 7b 78  _int_dep}|g" ${x
25d0: 7d 20 3e 20 22 24 7b 54 7d 2f 24 24 2e 72 65 6d  } > "${T}/$$.rem
25e0: 5f 69 6e 74 5f 64 65 70 73 2e 70 61 74 63 68 22  _int_deps.patch"
25f0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
2600: 20 20 20 20 20 20 78 3d 22 24 7b 54 7d 2f 24 24        x="${T}/$$
2610: 2e 72 65 6d 5f 69 6e 74 5f 64 65 70 73 2e 70 61  .rem_int_deps.pa
2620: 74 63 68 22 3b 0a 20 20 20 20 20 20 20 20 20 20  tch";.          
2630: 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
2640: 20 20 20 20 20 20 20 20 20 20 69 66 20 45 4c 54            if ELT
2650: 5f 74 72 79 5f 61 6e 64 5f 61 70 70 6c 79 5f 70  _try_and_apply_p
2660: 61 74 63 68 20 22 24 7b 66 69 6c 65 7d 22 20 22  atch "${file}" "
2670: 24 7b 78 7d 22 3b 20 74 68 65 6e 0a 20 20 20 20  ${x}"; then.    
2680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2690: 72 65 74 3d 30 3b 0a 20 20 20 20 20 20 20 20 20  ret=0;.         
26a0: 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b             break
26b0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
26c0: 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20    fi;.          
26d0: 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 64 6f    fi;.        do
26e0: 6e 65 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20  ne;.    fi;.    
26f0: 72 65 74 75 72 6e 20 22 24 7b 72 65 74 7d 22 0a  return "${ret}".
2700: 7d 0a 56 45 52 5f 6d 61 6a 6f 72 20 28 29 20 0a  }.VER_major () .
2710: 7b 20 0a 20 20 20 20 5b 5b 20 2d 7a 20 24 31 20  { .    [[ -z $1 
2720: 5d 5d 20 26 26 20 72 65 74 75 72 6e 20 31 3b 0a  ]] && return 1;.
2730: 20 20 20 20 6c 6f 63 61 6c 20 56 45 52 3d 24 40      local VER=$@
2740: 3b 0a 20 20 20 20 65 63 68 6f 20 22 24 7b 56 45  ;.    echo "${VE
2750: 52 25 25 5b 5e 5b 3a 64 69 67 69 74 3a 5d 5d 2a  R%%[^[:digit:]]*
2760: 7d 22 0a 7d 0a 56 45 52 5f 6d 69 63 72 6f 20 28  }".}.VER_micro (
2770: 29 20 0a 7b 20 0a 20 20 20 20 5b 5b 20 2d 7a 20  ) .{ .    [[ -z 
2780: 24 31 20 5d 5d 20 26 26 20 72 65 74 75 72 6e 20  $1 ]] && return 
2790: 31 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 56 45 52  1;.    local VER
27a0: 3d 24 40 3b 0a 20 20 20 20 56 45 52 3d 24 7b 56  =$@;.    VER=${V
27b0: 45 52 23 2a 2e 2a 2e 7d 3b 0a 20 20 20 20 65 63  ER#*.*.};.    ec
27c0: 68 6f 20 22 24 7b 56 45 52 25 25 5b 5e 5b 3a 64  ho "${VER%%[^[:d
27d0: 69 67 69 74 3a 5d 5d 2a 7d 22 0a 7d 0a 56 45 52  igit:]]*}".}.VER
27e0: 5f 6d 69 6e 6f 72 20 28 29 20 0a 7b 20 0a 20 20  _minor () .{ .  
27f0: 20 20 5b 5b 20 2d 7a 20 24 31 20 5d 5d 20 26 26    [[ -z $1 ]] &&
2800: 20 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 6c   return 1;.    l
2810: 6f 63 61 6c 20 56 45 52 3d 24 40 3b 0a 20 20 20  ocal VER=$@;.   
2820: 20 56 45 52 3d 24 7b 56 45 52 23 2a 2e 7d 3b 0a   VER=${VER#*.};.
2830: 20 20 20 20 65 63 68 6f 20 22 24 7b 56 45 52 25      echo "${VER%
2840: 25 5b 5e 5b 3a 64 69 67 69 74 3a 5d 5d 2a 7d 22  %[^[:digit:]]*}"
2850: 0a 7d 0a 56 45 52 5f 74 6f 5f 69 6e 74 20 28 29  .}.VER_to_int ()
2860: 20 0a 7b 20 0a 20 20 20 20 5b 5b 20 2d 7a 20 24   .{ .    [[ -z $
2870: 31 20 5d 5d 20 26 26 20 72 65 74 75 72 6e 20 31  1 ]] && return 1
2880: 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 56 45 52 5f  ;.    local VER_
2890: 4d 41 4a 4f 52 3d 24 28 56 45 52 5f 6d 61 6a 6f  MAJOR=$(VER_majo
28a0: 72 20 22 24 31 22 29 3b 0a 20 20 20 20 6c 6f 63  r "$1");.    loc
28b0: 61 6c 20 56 45 52 5f 4d 49 4e 4f 52 3d 24 28 56  al VER_MINOR=$(V
28c0: 45 52 5f 6d 69 6e 6f 72 20 22 24 31 22 29 3b 0a  ER_minor "$1");.
28d0: 20 20 20 20 6c 6f 63 61 6c 20 56 45 52 5f 4d 49      local VER_MI
28e0: 43 52 4f 3d 24 28 56 45 52 5f 6d 69 63 72 6f 20  CRO=$(VER_micro 
28f0: 22 24 31 22 29 3b 0a 20 20 20 20 6c 6f 63 61 6c  "$1");.    local
2900: 20 56 45 52 5f 69 6e 74 3d 24 28 28 20 56 45 52   VER_int=$(( VER
2910: 5f 4d 41 4a 4f 52 20 2a 20 36 35 35 33 36 20 2b  _MAJOR * 65536 +
2920: 20 56 45 52 5f 4d 49 4e 4f 52 20 2a 20 32 35 36   VER_MINOR * 256
2930: 20 2b 20 56 45 52 5f 4d 49 43 52 4f 20 29 29 3b   + VER_MICRO ));
2940: 0a 20 20 20 20 69 66 20 5b 5b 20 24 7b 56 45 52  .    if [[ ${VER
2950: 5f 69 6e 74 7d 20 2d 67 65 20 36 35 35 33 36 20  _int} -ge 65536 
2960: 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
2970: 20 65 63 68 6f 20 22 24 7b 56 45 52 5f 69 6e 74   echo "${VER_int
2980: 7d 22 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75  }";.        retu
2990: 72 6e 20 30 3b 0a 20 20 20 20 66 69 3b 0a 20 20  rn 0;.    fi;.  
29a0: 20 20 65 63 68 6f 20 31 3b 0a 20 20 20 20 72 65    echo 1;.    re
29b0: 74 75 72 6e 20 31 0a 7d 0a 5f 63 64 72 6f 6d 5f  turn 1.}._cdrom_
29c0: 6c 6f 63 61 74 65 5f 66 69 6c 65 5f 6f 6e 5f 63  locate_file_on_c
29d0: 64 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63  d () .{ .    loc
29e0: 61 6c 20 6d 6c 69 6e 65 3d 22 22 3b 0a 20 20 20  al mline="";.   
29f0: 20 6c 6f 63 61 6c 20 73 68 6f 77 65 64 6d 73 67   local showedmsg
2a00: 3d 30 20 73 68 6f 77 6a 6f 6c 69 65 74 6d 73 67  =0 showjolietmsg
2a10: 3d 30 3b 0a 20 20 20 20 77 68 69 6c 65 20 5b 5b  =0;.    while [[
2a20: 20 2d 7a 20 24 7b 43 44 52 4f 4d 5f 52 4f 4f 54   -z ${CDROM_ROOT
2a30: 7d 20 5d 5d 3b 20 64 6f 0a 20 20 20 20 20 20 20  } ]]; do.       
2a40: 20 6c 6f 63 61 6c 20 69 3d 30 3b 0a 20 20 20 20   local i=0;.    
2a50: 20 20 20 20 6c 6f 63 61 6c 20 2d 61 20 63 64 73      local -a cds
2a60: 65 74 3d 28 24 7b 2a 2f 2f 3a 2f 20 7d 29 3b 0a  et=(${*//:/ });.
2a70: 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 2d 6e          if [[ -n
2a80: 20 24 7b 43 44 52 4f 4d 5f 53 45 54 7d 20 5d 5d   ${CDROM_SET} ]]
2a90: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
2aa0: 20 20 20 63 64 73 65 74 3d 28 24 7b 63 64 73 65     cdset=(${cdse
2ab0: 74 5b 24 7b 43 44 52 4f 4d 5f 53 45 54 7d 5d 7d  t[${CDROM_SET}]}
2ac0: 29 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20  );.        fi;. 
2ad0: 20 20 20 20 20 20 20 77 68 69 6c 65 20 5b 5b 20         while [[ 
2ae0: 2d 6e 20 24 7b 63 64 73 65 74 5b 24 7b 69 7d 5d  -n ${cdset[${i}]
2af0: 7d 20 5d 5d 3b 20 64 6f 0a 20 20 20 20 20 20 20  } ]]; do.       
2b00: 20 20 20 20 20 6c 6f 63 61 6c 20 64 69 72 3d 24       local dir=$
2b10: 28 64 69 72 6e 61 6d 65 20 24 7b 63 64 73 65 74  (dirname ${cdset
2b20: 5b 24 7b 69 7d 5d 7d 29 3b 0a 20 20 20 20 20 20  [${i}]});.      
2b30: 20 20 20 20 20 20 6c 6f 63 61 6c 20 66 69 6c 65        local file
2b40: 3d 24 28 62 61 73 65 6e 61 6d 65 20 24 7b 63 64  =$(basename ${cd
2b50: 73 65 74 5b 24 7b 69 7d 5d 7d 29 3b 0a 20 20 20  set[${i}]});.   
2b60: 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 70           local p
2b70: 6f 69 6e 74 3d 20 6e 6f 64 65 3d 20 66 73 3d 20  oint= node= fs= 
2b80: 66 6f 6f 3d 3b 0a 20 20 20 20 20 20 20 20 20 20  foo=;.          
2b90: 20 20 77 68 69 6c 65 20 72 65 61 64 20 70 6f 69    while read poi
2ba0: 6e 74 20 6e 6f 64 65 20 66 73 20 66 6f 6f 3b 20  nt node fs foo; 
2bb0: 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  do.             
2bc0: 20 20 20 5b 5b 20 22 20 63 64 39 36 36 30 20 69     [[ " cd9660 i
2bd0: 73 6f 39 36 36 30 20 75 64 66 20 22 20 21 3d 20  so9660 udf " != 
2be0: 2a 22 20 24 7b 66 73 7d 20 22 2a 20 5d 5d 20 26  *" ${fs} "* ]] &
2bf0: 26 20 21 20 5b 5b 20 24 7b 66 73 7d 20 3d 3d 20  & ! [[ ${fs} == 
2c00: 22 73 75 62 66 73 22 20 26 26 20 22 2c 24 7b 6f  "subfs" && ",${o
2c10: 70 74 73 7d 2c 22 20 3d 3d 20 2a 22 2c 66 73 3d  pts}," == *",fs=
2c20: 63 64 66 73 73 2c 22 2a 20 5d 5d 20 26 26 20 63  cdfss,"* ]] && c
2c30: 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20  ontinue;.       
2c40: 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 3d 24           point=$
2c50: 7b 70 6f 69 6e 74 2f 2f 5c 30 34 30 2f 20 7d 3b  {point//\040/ };
2c60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
2c70: 20 5b 5b 20 21 20 2d 64 20 24 7b 70 6f 69 6e 74   [[ ! -d ${point
2c80: 7d 2f 24 7b 64 69 72 7d 20 5d 5d 20 26 26 20 63  }/${dir} ]] && c
2c90: 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20  ontinue;.       
2ca0: 20 20 20 20 20 20 20 20 20 5b 5b 20 2d 7a 20 24           [[ -z $
2cb0: 28 66 69 6e 64 20 22 24 7b 70 6f 69 6e 74 7d 2f  (find "${point}/
2cc0: 24 7b 64 69 72 7d 22 20 2d 6d 61 78 64 65 70 74  ${dir}" -maxdept
2cd0: 68 20 31 20 2d 69 6e 61 6d 65 20 22 24 7b 66 69  h 1 -iname "${fi
2ce0: 6c 65 7d 22 29 20 5d 5d 20 26 26 20 63 6f 6e 74  le}") ]] && cont
2cf0: 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20  inue;.          
2d00: 20 20 20 20 20 20 65 78 70 6f 72 74 20 43 44 52        export CDR
2d10: 4f 4d 5f 52 4f 4f 54 3d 24 7b 70 6f 69 6e 74 7d  OM_ROOT=${point}
2d20: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
2d30: 20 20 65 78 70 6f 72 74 20 43 44 52 4f 4d 5f 53    export CDROM_S
2d40: 45 54 3d 24 7b 69 7d 3b 0a 20 20 20 20 20 20 20  ET=${i};.       
2d50: 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20           export 
2d60: 43 44 52 4f 4d 5f 4d 41 54 43 48 3d 24 7b 63 64  CDROM_MATCH=${cd
2d70: 73 65 74 5b 24 7b 69 7d 5d 7d 3b 0a 20 20 20 20  set[${i}]};.    
2d80: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75              retu
2d90: 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  rn;.            
2da0: 64 6f 6e 65 20 3c 3c 3c 20 22 24 28 67 65 74 5f  done <<< "$(get_
2db0: 6d 6f 75 6e 74 73 29 22 3b 0a 20 20 20 20 20 20  mounts)";.      
2dc0: 20 20 20 20 20 20 28 28 2b 2b 69 29 29 3b 0a 20        ((++i));. 
2dd0: 20 20 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20         done;.   
2de0: 20 20 20 20 20 65 63 68 6f 3b 0a 20 20 20 20 20       echo;.     
2df0: 20 20 20 69 66 20 5b 5b 20 24 7b 73 68 6f 77 65     if [[ ${showe
2e00: 64 6d 73 67 7d 20 2d 65 71 20 30 20 5d 5d 3b 20  dmsg} -eq 0 ]]; 
2e10: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20  then.           
2e20: 20 69 66 20 5b 5b 20 24 7b 43 44 52 4f 4d 5f 54   if [[ ${CDROM_T
2e30: 4f 54 41 4c 5f 43 44 53 7d 20 2d 65 71 20 31 20  OTAL_CDS} -eq 1 
2e40: 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
2e50: 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 2d           if [[ -
2e60: 7a 20 24 7b 43 44 52 4f 4d 5f 4e 41 4d 45 7d 20  z ${CDROM_NAME} 
2e70: 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
2e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69 6e               ein
2e90: 66 6f 20 22 50 6c 65 61 73 65 20 69 6e 73 65 72  fo "Please inser
2ea0: 74 2b 6d 6f 75 6e 74 20 74 68 65 20 63 64 72 6f  t+mount the cdro
2eb0: 6d 20 66 6f 72 20 24 7b 50 4e 7d 20 6e 6f 77 20  m for ${PN} now 
2ec0: 21 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  !";.            
2ed0: 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20      else.       
2ee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69 6e               ein
2ef0: 66 6f 20 22 50 6c 65 61 73 65 20 69 6e 73 65 72  fo "Please inser
2f00: 74 2b 6d 6f 75 6e 74 20 74 68 65 20 24 7b 43 44  t+mount the ${CD
2f10: 52 4f 4d 5f 4e 41 4d 45 7d 20 63 64 72 6f 6d 20  ROM_NAME} cdrom 
2f20: 6e 6f 77 20 21 22 3b 0a 20 20 20 20 20 20 20 20  now !";.        
2f30: 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20          fi;.    
2f40: 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20          else.   
2f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
2f60: 5b 5b 20 2d 7a 20 24 7b 43 44 52 4f 4d 5f 4e 41  [[ -z ${CDROM_NA
2f70: 4d 45 5f 31 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20  ME_1} ]]; then. 
2f80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2f90: 20 20 20 65 69 6e 66 6f 20 22 50 6c 65 61 73 65     einfo "Please
2fa0: 20 69 6e 73 65 72 74 2b 6d 6f 75 6e 74 20 63 64   insert+mount cd
2fb0: 20 23 24 7b 43 44 52 4f 4d 5f 43 55 52 52 45 4e   #${CDROM_CURREN
2fc0: 54 5f 43 44 7d 20 66 6f 72 20 24 7b 50 4e 7d 20  T_CD} for ${PN} 
2fd0: 6e 6f 77 20 21 22 3b 0a 20 20 20 20 20 20 20 20  now !";.        
2fe0: 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20          else.   
2ff0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3000: 20 6c 6f 63 61 6c 20 76 61 72 3d 22 43 44 52 4f   local var="CDRO
3010: 4d 5f 4e 41 4d 45 5f 24 7b 43 44 52 4f 4d 5f 43  M_NAME_${CDROM_C
3020: 55 52 52 45 4e 54 5f 43 44 7d 22 3b 0a 20 20 20  URRENT_CD}";.   
3030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3040: 20 65 69 6e 66 6f 20 22 50 6c 65 61 73 65 20 69   einfo "Please i
3050: 6e 73 65 72 74 2b 6d 6f 75 6e 74 20 74 68 65 20  nsert+mount the 
3060: 24 7b 21 76 61 72 7d 20 63 64 72 6f 6d 20 6e 6f  ${!var} cdrom no
3070: 77 20 21 22 3b 0a 20 20 20 20 20 20 20 20 20 20  w !";.          
3080: 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
3090: 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
30a0: 20 20 20 20 20 20 73 68 6f 77 65 64 6d 73 67 3d        showedmsg=
30b0: 31 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20  1;.        fi;. 
30c0: 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22 50 72         einfo "Pr
30d0: 65 73 73 20 72 65 74 75 72 6e 20 74 6f 20 73 63  ess return to sc
30e0: 61 6e 20 66 6f 72 20 74 68 65 20 63 64 20 61 67  an for the cd ag
30f0: 61 69 6e 22 3b 0a 20 20 20 20 20 20 20 20 65 69  ain";.        ei
3100: 6e 66 6f 20 22 6f 72 20 68 69 74 20 43 54 52 4c  nfo "or hit CTRL
3110: 2b 43 20 74 6f 20 61 62 6f 72 74 20 74 68 65 20  +C to abort the 
3120: 65 6d 65 72 67 65 2e 22 3b 0a 20 20 20 20 20 20  emerge.";.      
3130: 20 20 65 63 68 6f 3b 0a 20 20 20 20 20 20 20 20    echo;.        
3140: 69 66 20 5b 5b 20 24 7b 73 68 6f 77 6a 6f 6c 69  if [[ ${showjoli
3150: 65 74 6d 73 67 7d 20 2d 65 71 20 30 20 5d 5d 3b  etmsg} -eq 0 ]];
3160: 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20   then.          
3170: 20 20 73 68 6f 77 6a 6f 6c 69 65 74 6d 73 67 3d    showjolietmsg=
3180: 31 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a  1;.        else.
3190: 20 20 20 20 20 20 20 20 20 20 20 20 65 77 61 72              ewar
31a0: 6e 20 22 49 66 20 79 6f 75 20 61 72 65 20 68 61  n "If you are ha
31b0: 76 69 6e 67 20 74 72 6f 75 62 6c 65 20 77 69 74  ving trouble wit
31c0: 68 20 74 68 65 20 64 65 74 65 63 74 69 6f 6e 22  h the detection"
31d0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 77  ;.            ew
31e0: 61 72 6e 20 22 6f 66 20 79 6f 75 72 20 43 44 2c  arn "of your CD,
31f0: 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20   it is possible 
3200: 74 68 61 74 20 79 6f 75 20 64 6f 20 6e 6f 74 20  that you do not 
3210: 68 61 76 65 22 3b 0a 20 20 20 20 20 20 20 20 20  have";.         
3220: 20 20 20 65 77 61 72 6e 20 22 4a 6f 6c 69 65 74     ewarn "Joliet
3230: 20 73 75 70 70 6f 72 74 20 65 6e 61 62 6c 65 64   support enabled
3240: 20 69 6e 20 79 6f 75 72 20 6b 65 72 6e 65 6c 2e   in your kernel.
3250: 20 20 50 6c 65 61 73 65 22 3b 0a 20 20 20 20 20    Please";.     
3260: 20 20 20 20 20 20 20 65 77 61 72 6e 20 22 63 68         ewarn "ch
3270: 65 63 6b 20 74 68 61 74 20 43 4f 4e 46 49 47 5f  eck that CONFIG_
3280: 4a 4f 4c 49 45 54 20 69 73 20 65 6e 61 62 6c 65  JOLIET is enable
3290: 64 20 69 6e 20 79 6f 75 72 20 6b 65 72 6e 65 6c  d in your kernel
32a0: 2e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  .";.            
32b0: 65 62 65 65 70 20 35 3b 0a 20 20 20 20 20 20 20  ebeep 5;.       
32c0: 20 66 69 3b 0a 20 20 20 20 20 20 20 20 72 65 61   fi;.        rea
32d0: 64 20 7c 7c 20 64 69 65 20 22 73 6f 6d 65 74 68  d || die "someth
32e0: 69 6e 67 20 69 73 20 73 63 72 65 77 65 64 20 77  ing is screwed w
32f0: 69 74 68 20 79 6f 75 72 20 73 79 73 74 65 6d 22  ith your system"
3300: 3b 0a 20 20 20 20 64 6f 6e 65 0a 7d 0a 5f 65 61  ;.    done.}._ea
3310: 70 69 33 5f 73 72 63 5f 69 6e 73 74 61 6c 6c 20  pi3_src_install 
3320: 28 29 20 0a 7b 20 0a 20 20 20 20 69 66 20 5b 5b  () .{ .    if [[
3330: 20 2d 66 20 4d 61 6b 65 66 69 6c 65 20 7c 7c 20   -f Makefile || 
3340: 2d 66 20 47 4e 55 6d 61 6b 65 66 69 6c 65 20 7c  -f GNUmakefile |
3350: 7c 20 2d 66 20 6d 61 6b 65 66 69 6c 65 20 5d 5d  | -f makefile ]]
3360: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 65  ; then.        e
3370: 6d 61 6b 65 20 44 45 53 54 44 49 52 3d 22 24 7b  make DESTDIR="${
3380: 44 7d 22 20 69 6e 73 74 61 6c 6c 3b 0a 20 20 20  D}" install;.   
3390: 20 66 69 3b 0a 20 20 20 20 69 66 20 5b 5b 20 2d   fi;.    if [[ -
33a0: 7a 20 24 44 4f 43 53 20 5d 5d 3b 20 74 68 65 6e  z $DOCS ]]; then
33b0: 0a 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 64  .        local d
33c0: 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 64 20  ;.        for d 
33d0: 69 6e 20 52 45 41 44 4d 45 2a 20 43 68 61 6e 67  in README* Chang
33e0: 65 4c 6f 67 20 41 55 54 48 4f 52 53 20 4e 45 57  eLog AUTHORS NEW
33f0: 53 20 54 4f 44 4f 20 43 48 41 4e 47 45 53 20 54  S TODO CHANGES T
3400: 48 41 4e 4b 53 20 42 55 47 53 20 46 41 51 20 43  HANKS BUGS FAQ C
3410: 52 45 44 49 54 53 20 43 48 41 4e 47 45 4c 4f 47  REDITS CHANGELOG
3420: 3b 0a 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20  ;.        do.   
3430: 20 20 20 20 20 20 20 20 20 5b 5b 20 2d 73 20 22           [[ -s "
3440: 24 7b 64 7d 22 20 5d 5d 20 26 26 20 64 6f 64 6f  ${d}" ]] && dodo
3450: 63 20 22 24 7b 64 7d 22 3b 0a 20 20 20 20 20 20  c "${d}";.      
3460: 20 20 64 6f 6e 65 3b 0a 20 20 20 20 65 6c 73 65    done;.    else
3470: 0a 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 24  .        if [[ $
3480: 28 64 65 63 6c 61 72 65 20 2d 70 20 44 4f 43 53  (declare -p DOCS
3490: 29 20 3d 3d 20 22 64 65 63 6c 61 72 65 20 2d 61  ) == "declare -a
34a0: 20 22 2a 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20   "* ]]; then.   
34b0: 20 20 20 20 20 20 20 20 20 64 6f 64 6f 63 20 22           dodoc "
34c0: 24 7b 44 4f 43 53 5b 40 5d 7d 22 3b 0a 20 20 20  ${DOCS[@]}";.   
34d0: 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20       else.      
34e0: 20 20 20 20 20 20 64 6f 64 6f 63 20 24 7b 44 4f        dodoc ${DO
34f0: 43 53 7d 3b 0a 20 20 20 20 20 20 20 20 66 69 3b  CS};.        fi;
3500: 0a 20 20 20 20 66 69 0a 7d 0a 5f 65 6c 69 62 74  .    fi.}._elibt
3510: 6f 6f 6c 69 7a 65 20 28 29 20 0a 7b 20 0a 20 20  oolize () .{ .  
3520: 20 20 6c 6f 63 61 6c 20 6f 70 74 73 20 67 3d 3b    local opts g=;
3530: 0a 20 20 20 20 5b 5b 20 2d 6e 20 24 28 61 75 74  .    [[ -n $(aut
3540: 6f 74 6f 6f 6c 73 5f 63 68 65 63 6b 5f 6d 61 63  otools_check_mac
3550: 72 6f 20 41 43 5f 50 52 4f 47 5f 4c 49 42 54 4f  ro AC_PROG_LIBTO
3560: 4f 4c 20 41 4d 5f 50 52 4f 47 5f 4c 49 42 54 4f  OL AM_PROG_LIBTO
3570: 4f 4c 20 4c 54 5f 49 4e 49 54 29 20 5d 5d 20 7c  OL LT_INIT) ]] |
3580: 7c 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20  | return 0;.    
3590: 5b 5b 20 2d 66 20 47 4e 55 6d 61 6b 65 66 69 6c  [[ -f GNUmakefil
35a0: 65 2e 61 6d 20 7c 7c 20 2d 66 20 4d 61 6b 65 66  e.am || -f Makef
35b0: 69 6c 65 2e 61 6d 20 5d 5d 20 26 26 20 6f 70 74  ile.am ]] && opt
35c0: 73 3d 22 2d 2d 61 75 74 6f 6d 61 6b 65 22 3b 0a  s="--automake";.
35d0: 20 20 20 20 5b 5b 20 24 7b 43 48 4f 53 54 7d 20      [[ ${CHOST} 
35e0: 3d 3d 20 2a 2d 64 61 72 77 69 6e 2a 20 5d 5d 20  == *-darwin* ]] 
35f0: 26 26 20 67 3d 67 3b 0a 20 20 20 20 61 75 74 6f  && g=g;.    auto
3600: 74 6f 6f 6c 73 5f 72 75 6e 5f 74 6f 6f 6c 20 24  tools_run_tool $
3610: 7b 4c 49 42 54 4f 4f 4c 49 5a 45 3a 2d 24 7b 67  {LIBTOOLIZE:-${g
3620: 7d 6c 69 62 74 6f 6f 6c 69 7a 65 7d 20 22 24 40  }libtoolize} "$@
3630: 22 20 24 7b 6f 70 74 73 7d 3b 0a 20 20 20 20 65  " ${opts};.    e
3640: 61 63 6c 6f 63 61 6c 0a 7d 0a 5f 67 63 63 2d 69  aclocal.}._gcc-i
3650: 6e 73 74 61 6c 6c 2d 64 69 72 20 28 29 20 0a 7b  nstall-dir () .{
3660: 20 0a 20 20 20 20 65 63 68 6f 20 22 24 28 4c 43   .    echo "$(LC
3670: 5f 41 4c 4c 3d 43 20 24 28 74 63 2d 67 65 74 43  _ALL=C $(tc-getC
3680: 43 29 20 2d 70 72 69 6e 74 2d 73 65 61 72 63 68  C) -print-search
3690: 2d 64 69 72 73 20 32 3e 20 2f 64 65 76 2f 6e 75  -dirs 2> /dev/nu
36a0: 6c 6c 20 7c 09 09 61 77 6b 20 27 24 31 3d 3d 22  ll |..awk '$1=="
36b0: 69 6e 73 74 61 6c 6c 3a 22 20 7b 70 72 69 6e 74  install:" {print
36c0: 20 24 32 7d 27 29 22 0a 7d 0a 5f 67 63 63 2d 73   $2}')".}._gcc-s
36d0: 70 65 63 73 2d 64 69 72 65 63 74 69 76 65 5f 72  pecs-directive_r
36e0: 61 77 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f  aw () .{ .    lo
36f0: 63 61 6c 20 63 63 3d 24 28 74 63 2d 67 65 74 43  cal cc=$(tc-getC
3700: 43 29 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 73 70  C);.    local sp
3710: 65 63 66 69 6c 65 73 3d 24 28 4c 43 5f 41 4c 4c  ecfiles=$(LC_ALL
3720: 3d 43 20 24 7b 63 63 7d 20 2d 76 20 32 3e 26 31  =C ${cc} -v 2>&1
3730: 20 7c 20 61 77 6b 20 27 24 31 3d 3d 22 52 65 61   | awk '$1=="Rea
3740: 64 69 6e 67 22 20 7b 70 72 69 6e 74 20 24 4e 46  ding" {print $NF
3750: 7d 27 29 3b 0a 20 20 20 20 24 7b 63 63 7d 20 2d  }');.    ${cc} -
3760: 64 75 6d 70 73 70 65 63 73 20 32 3e 20 2f 64 65  dumpspecs 2> /de
3770: 76 2f 6e 75 6c 6c 20 7c 20 63 61 74 20 2d 20 24  v/null | cat - $
3780: 7b 73 70 65 63 66 69 6c 65 73 7d 20 7c 20 61 77  {specfiles} | aw
3790: 6b 20 2d 76 20 64 69 72 65 63 74 69 76 65 3d 24  k -v directive=$
37a0: 31 20 27 42 45 47 49 4e 09 7b 20 70 73 70 65 63  1 'BEGIN.{ pspec
37b0: 3d 22 22 3b 20 73 70 65 63 3d 22 22 3b 20 6f 75  =""; spec=""; ou
37c0: 74 73 69 64 65 3d 31 20 7d 0a 24 31 3d 3d 22 2a  tside=1 }.$1=="*
37d0: 22 64 69 72 65 63 74 69 76 65 22 3a 22 20 20 7b  "directive":"  {
37e0: 20 70 73 70 65 63 3d 73 70 65 63 3b 20 73 70 65   pspec=spec; spe
37f0: 63 3d 22 22 3b 20 6f 75 74 73 69 64 65 3d 30 3b  c=""; outside=0;
3800: 20 6e 65 78 74 20 7d 0a 09 6f 75 74 73 69 64 65   next }..outside
3810: 20 7c 7c 20 4e 46 3d 3d 30 20 7c 7c 20 28 20 73   || NF==0 || ( s
3820: 75 62 73 74 72 28 24 31 2c 31 2c 31 29 3d 3d 22  ubstr($1,1,1)=="
3830: 2a 22 20 26 26 20 73 75 62 73 74 72 28 24 31 2c  *" && substr($1,
3840: 6c 65 6e 67 74 68 28 24 31 29 2c 31 29 3d 3d 22  length($1),1)=="
3850: 3a 22 20 29 20 7b 20 6f 75 74 73 69 64 65 3d 31  :" ) { outside=1
3860: 3b 20 6e 65 78 74 20 7d 0a 09 73 70 65 63 3d 3d  ; next }..spec==
3870: 22 22 20 26 26 20 73 75 62 73 74 72 28 24 30 2c  "" && substr($0,
3880: 31 2c 31 29 3d 3d 22 2b 22 20 7b 20 73 70 65 63  1,1)=="+" { spec
3890: 3d 70 73 70 65 63 20 22 20 22 20 73 75 62 73 74  =pspec " " subst
38a0: 72 28 24 30 2c 32 29 3b 20 6e 65 78 74 20 7d 0a  r($0,2); next }.
38b0: 09 7b 20 73 70 65 63 3d 73 70 65 63 20 24 30 20  .{ spec=spec $0 
38c0: 7d 0a 45 4e 44 09 7b 20 70 72 69 6e 74 20 73 70  }.END.{ print sp
38d0: 65 63 20 7d 27 3b 0a 20 20 20 20 72 65 74 75 72  ec }';.    retur
38e0: 6e 20 30 0a 7d 0a 5f 67 63 63 2d 73 70 65 63 73  n 0.}._gcc-specs
38f0: 2d 65 78 69 73 74 73 20 28 29 20 0a 7b 20 0a 20  -exists () .{ . 
3900: 20 20 20 5b 5b 20 2d 66 20 24 28 5f 67 63 63 2d     [[ -f $(_gcc-
3910: 69 6e 73 74 61 6c 6c 2d 64 69 72 29 2f 24 31 20  install-dir)/$1 
3920: 5d 5d 0a 7d 0a 61 75 74 6f 74 6f 6f 6c 73 5f 63  ]].}.autotools_c
3930: 68 65 63 6b 5f 6d 61 63 72 6f 20 28 29 20 0a 7b  heck_macro () .{
3940: 20 0a 20 20 20 20 5b 5b 20 2d 66 20 63 6f 6e 66   .    [[ -f conf
3950: 69 67 75 72 65 2e 61 63 20 7c 7c 20 2d 66 20 63  igure.ac || -f c
3960: 6f 6e 66 69 67 75 72 65 2e 69 6e 20 5d 5d 20 7c  onfigure.in ]] |
3970: 7c 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20  | return 0;.    
3980: 6c 6f 63 61 6c 20 6d 61 63 72 6f 3b 0a 20 20 20  local macro;.   
3990: 20 66 6f 72 20 6d 61 63 72 6f 20 69 6e 20 22 24   for macro in "$
39a0: 40 22 3b 0a 20 20 20 20 64 6f 0a 20 20 20 20 20  @";.    do.     
39b0: 20 20 20 57 41 4e 54 5f 41 55 54 4f 43 4f 4e 46     WANT_AUTOCONF
39c0: 3d 22 32 2e 35 22 20 61 75 74 6f 63 6f 6e 66 20  ="2.5" autoconf 
39d0: 2d 2d 74 72 61 63 65 3d 22 24 7b 6d 61 63 72 6f  --trace="${macro
39e0: 7d 22 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b  }" 2> /dev/null;
39f0: 0a 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 72  .    done;.    r
3a00: 65 74 75 72 6e 20 30 0a 7d 0a 61 75 74 6f 74 6f  eturn 0.}.autoto
3a10: 6f 6c 73 5f 67 65 74 5f 61 75 78 64 69 72 20 28  ols_get_auxdir (
3a20: 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20  ) .{ .    local 
3a30: 61 75 78 64 69 72 5f 73 63 61 6e 5f 6f 75 74 3b  auxdir_scan_out;
3a40: 0a 20 20 20 20 61 75 78 64 69 72 5f 73 63 61 6e  .    auxdir_scan
3a50: 5f 6f 75 74 3d 24 28 61 75 74 6f 74 6f 6f 6c 73  _out=$(autotools
3a60: 5f 63 68 65 63 6b 5f 6d 61 63 72 6f 20 22 41 43  _check_macro "AC
3a70: 5f 43 4f 4e 46 49 47 5f 41 55 58 5f 44 49 52 22  _CONFIG_AUX_DIR"
3a80: 29 3b 0a 20 20 20 20 5b 5b 20 2d 6e 20 24 7b 61  );.    [[ -n ${a
3a90: 75 78 64 69 72 5f 73 63 61 6e 5f 6f 75 74 7d 20  uxdir_scan_out} 
3aa0: 5d 5d 20 7c 7c 20 72 65 74 75 72 6e 20 30 3b 0a  ]] || return 0;.
3ab0: 20 20 20 20 65 63 68 6f 20 24 7b 61 75 78 64 69      echo ${auxdi
3ac0: 72 5f 73 63 61 6e 5f 6f 75 74 7d 20 7c 20 67 61  r_scan_out} | ga
3ad0: 77 6b 20 27 28 24 30 20 21 7e 20 2f 5e 5b 5b 3a  wk '($0 !~ /^[[:
3ae0: 73 70 61 63 65 3a 5d 5d 2a 28 23 7c 64 6e 6c 29  space:]]*(#|dnl)
3af0: 2f 29 20 7b 0a 09 09 69 66 20 28 6d 61 74 63 68  /) {...if (match
3b00: 28 24 30 2c 20 2f 41 43 5f 43 4f 4e 46 49 47 5f  ($0, /AC_CONFIG_
3b10: 41 55 58 5f 44 49 52 3a 28 2e 2a 29 24 2f 2c 20  AUX_DIR:(.*)$/, 
3b20: 72 65 73 29 29 0a 09 09 09 70 72 69 6e 74 20 72  res))....print r
3b30: 65 73 5b 31 5d 0a 09 7d 27 20 7c 20 75 6e 69 71  es[1]..}' | uniq
3b40: 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 0a 7d  ;.    return 0.}
3b50: 0a 61 75 74 6f 74 6f 6f 6c 73 5f 67 65 74 5f 73  .autotools_get_s
3b60: 75 62 64 69 72 73 20 28 29 20 0a 7b 20 0a 20 20  ubdirs () .{ .  
3b70: 20 20 6c 6f 63 61 6c 20 73 75 62 64 69 72 73 5f    local subdirs_
3b80: 73 63 61 6e 5f 6f 75 74 3b 0a 20 20 20 20 73 75  scan_out;.    su
3b90: 62 64 69 72 73 5f 73 63 61 6e 5f 6f 75 74 3d 24  bdirs_scan_out=$
3ba0: 28 61 75 74 6f 74 6f 6f 6c 73 5f 63 68 65 63 6b  (autotools_check
3bb0: 5f 6d 61 63 72 6f 20 22 41 43 5f 43 4f 4e 46 49  _macro "AC_CONFI
3bc0: 47 5f 53 55 42 44 49 52 53 22 29 3b 0a 20 20 20  G_SUBDIRS");.   
3bd0: 20 5b 5b 20 2d 6e 20 24 7b 73 75 62 64 69 72 73   [[ -n ${subdirs
3be0: 5f 73 63 61 6e 5f 6f 75 74 7d 20 5d 5d 20 7c 7c  _scan_out} ]] ||
3bf0: 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 65   return 0;.    e
3c00: 63 68 6f 20 22 24 7b 73 75 62 64 69 72 73 5f 73  cho "${subdirs_s
3c10: 63 61 6e 5f 6f 75 74 7d 22 20 7c 20 67 61 77 6b  can_out}" | gawk
3c20: 20 27 28 24 30 20 21 7e 20 2f 5e 5b 5b 3a 73 70   '($0 !~ /^[[:sp
3c30: 61 63 65 3a 5d 5d 2a 28 23 7c 64 6e 6c 29 2f 29  ace:]]*(#|dnl)/)
3c40: 20 7b 0a 09 09 69 66 20 28 6d 61 74 63 68 28 24   {...if (match($
3c50: 30 2c 20 2f 41 43 5f 43 4f 4e 46 49 47 5f 53 55  0, /AC_CONFIG_SU
3c60: 42 44 49 52 53 3a 28 2e 2a 29 24 2f 2c 20 72 65  BDIRS:(.*)$/, re
3c70: 73 29 29 0a 09 09 09 70 72 69 6e 74 20 72 65 73  s))....print res
3c80: 5b 31 5d 0a 09 7d 27 20 7c 20 75 6e 69 71 3b 0a  [1]..}' | uniq;.
3c90: 20 20 20 20 72 65 74 75 72 6e 20 30 0a 7d 0a 61      return 0.}.a
3ca0: 75 74 6f 74 6f 6f 6c 73 5f 72 75 6e 5f 74 6f 6f  utotools_run_too
3cb0: 6c 20 28 29 20 0a 7b 20 0a 20 20 20 20 69 66 20  l () .{ .    if 
3cc0: 5b 5b 20 24 7b 45 42 55 49 4c 44 5f 50 48 41 53  [[ ${EBUILD_PHAS
3cd0: 45 7d 20 21 3d 20 22 75 6e 70 61 63 6b 22 20 26  E} != "unpack" &
3ce0: 26 20 24 7b 45 42 55 49 4c 44 5f 50 48 41 53 45  & ${EBUILD_PHASE
3cf0: 7d 20 21 3d 20 22 70 72 65 70 61 72 65 22 20 5d  } != "prepare" ]
3d00: 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  ]; then.        
3d10: 65 77 61 72 6e 20 22 51 41 20 57 61 72 6e 69 6e  ewarn "QA Warnin
3d20: 67 3a 20 72 75 6e 6e 69 6e 67 20 24 31 20 69 6e  g: running $1 in
3d30: 20 24 7b 45 42 55 49 4c 44 5f 50 48 41 53 45 7d   ${EBUILD_PHASE}
3d40: 20 70 68 61 73 65 22 3b 0a 20 20 20 20 66 69 3b   phase";.    fi;
3d50: 0a 20 20 20 20 5b 5b 20 24 7b 57 41 4e 54 5f 41  .    [[ ${WANT_A
3d60: 55 54 4f 4d 41 4b 45 7d 20 3d 3d 20 22 6c 61 74  UTOMAKE} == "lat
3d70: 65 73 74 22 20 5d 5d 20 26 26 20 65 78 70 6f 72  est" ]] && expor
3d80: 74 20 57 41 4e 54 5f 41 55 54 4f 4d 41 4b 45 3d  t WANT_AUTOMAKE=
3d90: 31 2e 31 30 3b 0a 20 20 20 20 5b 5b 20 24 7b 57  1.10;.    [[ ${W
3da0: 41 4e 54 5f 41 55 54 4f 43 4f 4e 46 7d 20 3d 3d  ANT_AUTOCONF} ==
3db0: 20 22 6c 61 74 65 73 74 22 20 5d 5d 20 26 26 20   "latest" ]] && 
3dc0: 65 78 70 6f 72 74 20 57 41 4e 54 5f 41 55 54 4f  export WANT_AUTO
3dd0: 43 4f 4e 46 3d 32 2e 35 3b 0a 20 20 20 20 6c 6f  CONF=2.5;.    lo
3de0: 63 61 6c 20 53 54 44 45 52 52 5f 54 41 52 47 45  cal STDERR_TARGE
3df0: 54 3d 22 24 7b 54 7d 2f 24 31 2e 6f 75 74 22 3b  T="${T}/$1.out";
3e00: 0a 20 20 20 20 69 66 20 5b 5b 20 2d 65 20 24 7b  .    if [[ -e ${
3e10: 53 54 44 45 52 52 5f 54 41 52 47 45 54 7d 20 5d  STDERR_TARGET} ]
3e20: 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  ]; then.        
3e30: 53 54 44 45 52 52 5f 54 41 52 47 45 54 3d 22 24  STDERR_TARGET="$
3e40: 7b 54 7d 2f 24 31 2d 24 24 2e 6f 75 74 22 3b 0a  {T}/$1-$$.out";.
3e50: 20 20 20 20 66 69 3b 0a 20 20 20 20 70 72 69 6e      fi;.    prin
3e60: 74 66 20 22 2a 2a 2a 2a 2a 20 24 31 20 2a 2a 2a  tf "***** $1 ***
3e70: 2a 2a 5c 6e 2a 2a 2a 2a 2a 20 50 57 44 3a 20 24  **\n***** PWD: $
3e80: 7b 50 57 44 7d 5c 6e 2a 2a 2a 2a 2a 20 24 2a 5c  {PWD}\n***** $*\
3e90: 6e 5c 6e 22 20 3e 20 22 24 7b 53 54 44 45 52 52  n\n" > "${STDERR
3ea0: 5f 54 41 52 47 45 54 7d 22 3b 0a 20 20 20 20 65  _TARGET}";.    e
3eb0: 62 65 67 69 6e 20 22 52 75 6e 6e 69 6e 67 20 24  begin "Running $
3ec0: 40 22 3b 0a 20 20 20 20 22 24 40 22 20 3e 3e 20  @";.    "$@" >> 
3ed0: 22 24 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54  "${STDERR_TARGET
3ee0: 7d 22 20 32 3e 26 31 3b 0a 20 20 20 20 65 65 6e  }" 2>&1;.    een
3ef0: 64 20 24 3f 3b 0a 20 20 20 20 69 66 20 5b 5b 20  d $?;.    if [[ 
3f00: 24 3f 20 21 3d 20 30 20 26 26 20 24 7b 4e 4f 5f  $? != 0 && ${NO_
3f10: 46 41 49 4c 7d 20 21 3d 20 31 20 5d 5d 3b 20 74  FAIL} != 1 ]]; t
3f20: 68 65 6e 0a 20 20 20 20 20 20 20 20 65 63 68 6f  hen.        echo
3f30: 3b 0a 20 20 20 20 20 20 20 20 65 65 72 72 6f 72  ;.        eerror
3f40: 20 22 46 61 69 6c 65 64 20 52 75 6e 6e 69 6e 67   "Failed Running
3f50: 20 24 31 20 21 22 3b 0a 20 20 20 20 20 20 20 20   $1 !";.        
3f60: 65 65 72 72 6f 72 3b 0a 20 20 20 20 20 20 20 20  eerror;.        
3f70: 65 65 72 72 6f 72 20 22 49 6e 63 6c 75 64 65 20  eerror "Include 
3f80: 69 6e 20 79 6f 75 72 20 62 75 67 72 65 70 6f 72  in your bugrepor
3f90: 74 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f  t the contents o
3fa0: 66 3a 22 3b 0a 20 20 20 20 20 20 20 20 65 65 72  f:";.        eer
3fb0: 72 6f 72 3b 0a 20 20 20 20 20 20 20 20 65 65 72  ror;.        eer
3fc0: 72 6f 72 20 22 20 20 24 7b 53 54 44 45 52 52 5f  ror "  ${STDERR_
3fd0: 54 41 52 47 45 54 7d 22 3b 0a 20 20 20 20 20 20  TARGET}";.      
3fe0: 20 20 65 63 68 6f 3b 0a 20 20 20 20 20 20 20 20    echo;.        
3ff0: 64 69 65 20 22 46 61 69 6c 65 64 20 52 75 6e 6e  die "Failed Runn
4000: 69 6e 67 20 24 31 20 21 22 3b 0a 20 20 20 20 66  ing $1 !";.    f
4010: 69 0a 7d 0a 62 75 69 6c 74 5f 77 69 74 68 5f 75  i.}.built_with_u
4020: 73 65 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f  se () .{ .    lo
4030: 63 61 6c 20 68 69 64 64 65 6e 3d 22 6e 6f 22 3b  cal hidden="no";
4040: 0a 20 20 20 20 69 66 20 5b 5b 20 24 31 20 3d 3d  .    if [[ $1 ==
4050: 20 22 2d 2d 68 69 64 64 65 6e 22 20 5d 5d 3b 20   "--hidden" ]]; 
4060: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 68 69 64  then.        hid
4070: 64 65 6e 3d 22 79 65 73 22 3b 0a 20 20 20 20 20  den="yes";.     
4080: 20 20 20 73 68 69 66 74 3b 0a 20 20 20 20 66 69     shift;.    fi
4090: 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 6d 69 73 73  ;.    local miss
40a0: 69 6e 67 5f 61 63 74 69 6f 6e 3d 22 64 69 65 22  ing_action="die"
40b0: 3b 0a 20 20 20 20 69 66 20 5b 5b 20 24 31 20 3d  ;.    if [[ $1 =
40c0: 3d 20 22 2d 2d 6d 69 73 73 69 6e 67 22 20 5d 5d  = "--missing" ]]
40d0: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 6d  ; then.        m
40e0: 69 73 73 69 6e 67 5f 61 63 74 69 6f 6e 3d 24 32  issing_action=$2
40f0: 3b 0a 20 20 20 20 20 20 20 20 73 68 69 66 74 3b  ;.        shift;
4100: 0a 20 20 20 20 20 20 20 20 73 68 69 66 74 3b 0a  .        shift;.
4110: 20 20 20 20 20 20 20 20 63 61 73 65 20 24 7b 6d          case ${m
4120: 69 73 73 69 6e 67 5f 61 63 74 69 6f 6e 7d 20 69  issing_action} i
4130: 6e 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 74  n .            t
4140: 72 75 65 20 7c 20 66 61 6c 73 65 20 7c 20 64 69  rue | false | di
4150: 65 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20  e)..            
4160: 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a  ;;.            *
4170: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
4180: 20 20 64 69 65 20 22 75 6e 6b 6e 6f 77 6e 20 61    die "unknown a
4190: 63 74 69 6f 6e 20 27 24 7b 6d 69 73 73 69 6e 67  ction '${missing
41a0: 5f 61 63 74 69 6f 6e 7d 27 22 0a 20 20 20 20 20  _action}'".     
41b0: 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
41c0: 20 20 65 73 61 63 3b 0a 20 20 20 20 66 69 3b 0a    esac;.    fi;.
41d0: 20 20 20 20 6c 6f 63 61 6c 20 6f 70 74 3d 24 31      local opt=$1
41e0: 3b 0a 20 20 20 20 5b 5b 20 24 7b 6f 70 74 3a 30  ;.    [[ ${opt:0
41f0: 3a 31 7d 20 3d 20 22 2d 22 20 5d 5d 20 26 26 20  :1} = "-" ]] && 
4200: 73 68 69 66 74 20 7c 7c 20 6f 70 74 3d 22 2d 61  shift || opt="-a
4210: 22 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 50 4b 47  ";.    local PKG
4220: 3d 24 28 62 65 73 74 5f 76 65 72 73 69 6f 6e 20  =$(best_version 
4230: 24 31 29 3b 0a 20 20 20 20 5b 5b 20 2d 7a 20 24  $1);.    [[ -z $
4240: 7b 50 4b 47 7d 20 5d 5d 20 26 26 20 64 69 65 20  {PKG} ]] && die 
4250: 22 55 6e 61 62 6c 65 20 74 6f 20 72 65 73 6f 6c  "Unable to resol
4260: 76 65 20 24 31 20 74 6f 20 61 6e 20 69 6e 73 74  ve $1 to an inst
4270: 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 22 3b 0a  alled package";.
4280: 20 20 20 20 73 68 69 66 74 3b 0a 20 20 20 20 6c      shift;.    l
4290: 6f 63 61 6c 20 55 53 45 46 49 4c 45 3d 24 7b 52  ocal USEFILE=${R
42a0: 4f 4f 54 7d 2f 76 61 72 2f 64 62 2f 70 6b 67 2f  OOT}/var/db/pkg/
42b0: 24 7b 50 4b 47 7d 2f 55 53 45 3b 0a 20 20 20 20  ${PKG}/USE;.    
42c0: 6c 6f 63 61 6c 20 49 55 53 45 46 49 4c 45 3d 24  local IUSEFILE=$
42d0: 7b 52 4f 4f 54 7d 2f 76 61 72 2f 64 62 2f 70 6b  {ROOT}/var/db/pk
42e0: 67 2f 24 7b 50 4b 47 7d 2f 49 55 53 45 3b 0a 20  g/${PKG}/IUSE;. 
42f0: 20 20 20 69 66 20 5b 5b 20 21 20 2d 65 20 24 7b     if [[ ! -e ${
4300: 55 53 45 46 49 4c 45 7d 20 5d 5d 20 7c 7c 20 5b  USEFILE} ]] || [
4310: 5b 20 21 20 2d 65 20 24 7b 49 55 53 45 46 49 4c  [ ! -e ${IUSEFIL
4320: 45 7d 20 26 26 20 24 7b 68 69 64 64 65 6e 7d 20  E} && ${hidden} 
4330: 3d 3d 20 22 6e 6f 22 20 5d 5d 3b 20 74 68 65 6e  == "no" ]]; then
4340: 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 24 7b  .        case ${
4350: 6d 69 73 73 69 6e 67 5f 61 63 74 69 6f 6e 7d 20  missing_action} 
4360: 69 6e 20 0a 20 20 20 20 20 20 20 20 20 20 20 20  in .            
4370: 74 72 75 65 29 0a 20 20 20 20 20 20 20 20 20 20  true).          
4380: 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 0a 20        return 0. 
4390: 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
43a0: 20 20 20 20 20 20 20 20 20 20 66 61 6c 73 65 29            false)
43b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
43c0: 20 72 65 74 75 72 6e 20 31 0a 20 20 20 20 20 20   return 1.      
43d0: 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
43e0: 20 20 20 20 20 64 69 65 29 0a 20 20 20 20 20 20       die).      
43f0: 20 20 20 20 20 20 20 20 20 20 64 69 65 20 22 55            die "U
4400: 6e 61 62 6c 65 20 74 6f 20 64 65 74 65 72 6d 69  nable to determi
4410: 6e 65 20 77 68 61 74 20 55 53 45 20 66 6c 61 67  ne what USE flag
4420: 73 20 24 50 4b 47 20 77 61 73 20 62 75 69 6c 74  s $PKG was built
4430: 20 77 69 74 68 22 0a 20 20 20 20 20 20 20 20 20   with".         
4440: 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 65 73     ;;.        es
4450: 61 63 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20  ac;.    fi;.    
4460: 69 66 20 5b 5b 20 24 7b 68 69 64 64 65 6e 7d 20  if [[ ${hidden} 
4470: 3d 3d 20 22 6e 6f 22 20 5d 5d 3b 20 74 68 65 6e  == "no" ]]; then
4480: 0a 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 49  .        local I
4490: 55 53 45 5f 42 55 49 4c 54 3d 28 24 28 3c 22 24  USE_BUILT=($(<"$
44a0: 7b 49 55 53 45 46 49 4c 45 7d 22 29 29 3b 0a 20  {IUSEFILE}"));. 
44b0: 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 65 78 70         local exp
44c0: 61 6e 64 3b 0a 20 20 20 20 20 20 20 20 66 6f 72  and;.        for
44d0: 20 65 78 70 61 6e 64 20 69 6e 20 24 28 65 63 68   expand in $(ech
44e0: 6f 20 24 7b 55 53 45 5f 45 58 50 41 4e 44 7d 20  o ${USE_EXPAND} 
44f0: 7c 20 74 72 20 27 5b 3a 75 70 70 65 72 3a 5d 27  | tr '[:upper:]'
4500: 20 27 5b 3a 6c 6f 77 65 72 3a 5d 27 29 3b 0a 20   '[:lower:]');. 
4510: 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20         do.      
4520: 20 20 20 20 20 20 69 66 20 5b 5b 20 24 31 20 3d        if [[ $1 =
4530: 3d 20 24 7b 65 78 70 61 6e 64 7d 5f 2a 20 5d 5d  = ${expand}_* ]]
4540: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
4550: 20 20 20 20 20 20 20 65 78 70 61 6e 64 3d 22 22         expand=""
4560: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
4570: 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20    break;.       
4580: 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20       fi;.       
4590: 20 64 6f 6e 65 3b 0a 20 20 20 20 20 20 20 20 69   done;.        i
45a0: 66 20 5b 5b 20 2d 6e 20 24 7b 65 78 70 61 6e 64  f [[ -n ${expand
45b0: 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  } ]]; then.     
45c0: 20 20 20 20 20 20 20 69 66 20 21 20 68 61 73 20         if ! has 
45d0: 24 31 20 24 7b 49 55 53 45 5f 42 55 49 4c 54 5b  $1 ${IUSE_BUILT[
45e0: 40 5d 23 5b 2d 2b 5d 7d 3b 20 74 68 65 6e 0a 20  @]#[-+]}; then. 
45f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63                 c
4600: 61 73 65 20 24 7b 6d 69 73 73 69 6e 67 5f 61 63  ase ${missing_ac
4610: 74 69 6f 6e 7d 20 69 6e 20 0a 20 20 20 20 20 20  tion} in .      
4620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72                tr
4630: 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  ue).            
4640: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75              retu
4650: 72 6e 20 30 0a 20 20 20 20 20 20 20 20 20 20 20  rn 0.           
4660: 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
4670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4680: 66 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 20  false).         
4690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
46a0: 65 74 75 72 6e 20 31 0a 20 20 20 20 20 20 20 20  eturn 1.        
46b0: 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
46c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
46d0: 20 20 20 64 69 65 29 0a 20 20 20 20 20 20 20 20     die).        
46e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
46f0: 64 69 65 20 22 24 50 4b 47 20 64 6f 65 73 20 6e  die "$PKG does n
4700: 6f 74 20 61 63 74 75 61 6c 6c 79 20 73 75 70 70  ot actually supp
4710: 6f 72 74 20 74 68 65 20 24 31 20 55 53 45 20 66  ort the $1 USE f
4720: 6c 61 67 21 22 0a 20 20 20 20 20 20 20 20 20 20  lag!".          
4730: 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20            ;;.   
4740: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 73 61               esa
4750: 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66  c;.            f
4760: 69 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20  i;.        fi;. 
4770: 20 20 20 66 69 3b 0a 20 20 20 20 6c 6f 63 61 6c     fi;.    local
4780: 20 55 53 45 5f 42 55 49 4c 54 3d 24 28 3c 24 7b   USE_BUILT=$(<${
4790: 55 53 45 46 49 4c 45 7d 29 3b 0a 20 20 20 20 77  USEFILE});.    w
47a0: 68 69 6c 65 20 5b 5b 20 24 23 20 2d 67 74 20 30  hile [[ $# -gt 0
47b0: 20 5d 5d 3b 20 64 6f 0a 20 20 20 20 20 20 20 20   ]]; do.        
47c0: 69 66 20 5b 5b 20 24 7b 6f 70 74 7d 20 3d 20 22  if [[ ${opt} = "
47d0: 2d 6f 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  -o" ]]; then.   
47e0: 20 20 20 20 20 20 20 20 20 68 61 73 20 24 31 20           has $1 
47f0: 24 7b 55 53 45 5f 42 55 49 4c 54 7d 20 26 26 20  ${USE_BUILT} && 
4800: 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20  return 0;.      
4810: 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20    else.         
4820: 20 20 20 68 61 73 20 24 31 20 24 7b 55 53 45 5f     has $1 ${USE_
4830: 42 55 49 4c 54 7d 20 7c 7c 20 72 65 74 75 72 6e  BUILT} || return
4840: 20 31 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a   1;.        fi;.
4850: 20 20 20 20 20 20 20 20 73 68 69 66 74 3b 0a 20          shift;. 
4860: 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 5b 5b 20     done;.    [[ 
4870: 24 7b 6f 70 74 7d 20 3d 20 22 2d 61 22 20 5d 5d  ${opt} = "-a" ]]
4880: 0a 7d 0a 63 64 72 6f 6d 5f 67 65 74 5f 63 64 73  .}.cdrom_get_cds
4890: 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61   () .{ .    loca
48a0: 6c 20 63 64 63 6e 74 3d 30 3b 0a 20 20 20 20 6c  l cdcnt=0;.    l
48b0: 6f 63 61 6c 20 66 3d 3b 0a 20 20 20 20 66 6f 72  ocal f=;.    for
48c0: 20 66 20 69 6e 20 22 24 40 22 3b 0a 20 20 20 20   f in "$@";.    
48d0: 64 6f 0a 20 20 20 20 20 20 20 20 28 28 2b 2b 63  do.        ((++c
48e0: 64 63 6e 74 29 29 3b 0a 20 20 20 20 20 20 20 20  dcnt));.        
48f0: 65 78 70 6f 72 74 20 43 44 52 4f 4d 5f 43 48 45  export CDROM_CHE
4900: 43 4b 5f 24 7b 63 64 63 6e 74 7d 3d 22 24 66 22  CK_${cdcnt}="$f"
4910: 3b 0a 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20  ;.    done;.    
4920: 65 78 70 6f 72 74 20 43 44 52 4f 4d 5f 54 4f 54  export CDROM_TOT
4930: 41 4c 5f 43 44 53 3d 24 7b 63 64 63 6e 74 7d 3b  AL_CDS=${cdcnt};
4940: 0a 20 20 20 20 65 78 70 6f 72 74 20 43 44 52 4f  .    export CDRO
4950: 4d 5f 43 55 52 52 45 4e 54 5f 43 44 3d 31 3b 0a  M_CURRENT_CD=1;.
4960: 20 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24 7b 43      if [[ -n ${C
4970: 44 5f 52 4f 4f 54 7d 24 7b 43 44 5f 52 4f 4f 54  D_ROOT}${CD_ROOT
4980: 5f 31 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  _1} ]]; then.   
4990: 20 20 20 20 20 6c 6f 63 61 6c 20 76 61 72 3d 3b       local var=;
49a0: 0a 20 20 20 20 20 20 20 20 63 64 63 6e 74 3d 30  .        cdcnt=0
49b0: 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20  ;.        while 
49c0: 5b 5b 20 24 7b 63 64 63 6e 74 7d 20 2d 6c 74 20  [[ ${cdcnt} -lt 
49d0: 24 7b 43 44 52 4f 4d 5f 54 4f 54 41 4c 5f 43 44  ${CDROM_TOTAL_CD
49e0: 53 7d 20 5d 5d 3b 20 64 6f 0a 20 20 20 20 20 20  S} ]]; do.      
49f0: 20 20 20 20 20 20 28 28 2b 2b 63 64 63 6e 74 29        ((++cdcnt)
4a00: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76  );.            v
4a10: 61 72 3d 22 43 44 5f 52 4f 4f 54 5f 24 7b 63 64  ar="CD_ROOT_${cd
4a20: 63 6e 74 7d 22 3b 0a 20 20 20 20 20 20 20 20 20  cnt}";.         
4a30: 20 20 20 5b 5b 20 2d 7a 20 24 7b 21 76 61 72 7d     [[ -z ${!var}
4a40: 20 5d 5d 20 26 26 20 76 61 72 3d 22 43 44 5f 52   ]] && var="CD_R
4a50: 4f 4f 54 22 3b 0a 20 20 20 20 20 20 20 20 20 20  OOT";.          
4a60: 20 20 69 66 20 5b 5b 20 2d 7a 20 24 7b 21 76 61    if [[ -z ${!va
4a70: 72 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  r} ]]; then.    
4a80: 20 20 20 20 20 20 20 20 20 20 20 20 65 65 72 72              eerr
4a90: 6f 72 20 22 59 6f 75 20 6d 75 73 74 20 65 69 74  or "You must eit
4aa0: 68 65 72 20 75 73 65 20 6a 75 73 74 20 74 68 65  her use just the
4ab0: 20 43 44 5f 52 4f 4f 54 22 3b 0a 20 20 20 20 20   CD_ROOT";.     
4ac0: 20 20 20 20 20 20 20 20 20 20 20 65 65 72 72 6f             eerro
4ad0: 72 20 22 6f 72 20 73 70 65 63 69 66 79 20 41 4c  r "or specify AL
4ae0: 4c 20 74 68 65 20 43 44 5f 52 4f 4f 54 5f 58 20  L the CD_ROOT_X 
4af0: 76 61 72 69 61 62 6c 65 73 2e 22 3b 0a 20 20 20  variables.";.   
4b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 65 72               eer
4b10: 72 6f 72 20 22 49 6e 20 74 68 69 73 20 63 61 73  ror "In this cas
4b20: 65 2c 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64  e, you will need
4b30: 20 24 7b 43 44 52 4f 4d 5f 54 4f 54 41 4c 5f 43   ${CDROM_TOTAL_C
4b40: 44 53 7d 20 43 44 5f 52 4f 4f 54 5f 58 20 76 61  DS} CD_ROOT_X va
4b50: 72 69 61 62 6c 65 73 2e 22 3b 0a 20 20 20 20 20  riables.";.     
4b60: 20 20 20 20 20 20 20 20 20 20 20 64 69 65 20 22             die "
4b70: 63 6f 75 6c 64 20 6e 6f 74 20 6c 6f 63 61 74 65  could not locate
4b80: 20 43 44 5f 52 4f 4f 54 5f 24 7b 63 64 63 6e 74   CD_ROOT_${cdcnt
4b90: 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  }";.            
4ba0: 66 69 3b 0a 20 20 20 20 20 20 20 20 64 6f 6e 65  fi;.        done
4bb0: 3b 0a 20 20 20 20 20 20 20 20 65 78 70 6f 72 74  ;.        export
4bc0: 20 43 44 52 4f 4d 5f 52 4f 4f 54 3d 24 7b 43 44   CDROM_ROOT=${CD
4bd0: 5f 52 4f 4f 54 5f 31 3a 2d 24 7b 43 44 5f 52 4f  _ROOT_1:-${CD_RO
4be0: 4f 54 7d 7d 3b 0a 20 20 20 20 20 20 20 20 65 69  OT}};.        ei
4bf0: 6e 66 6f 20 22 46 6f 75 6e 64 20 43 44 20 23 24  nfo "Found CD #$
4c00: 7b 43 44 52 4f 4d 5f 43 55 52 52 45 4e 54 5f 43  {CDROM_CURRENT_C
4c10: 44 7d 20 72 6f 6f 74 20 61 74 20 24 7b 43 44 52  D} root at ${CDR
4c20: 4f 4d 5f 52 4f 4f 54 7d 22 3b 0a 20 20 20 20 20  OM_ROOT}";.     
4c30: 20 20 20 65 78 70 6f 72 74 20 43 44 52 4f 4d 5f     export CDROM_
4c40: 53 45 54 3d 2d 31 3b 0a 20 20 20 20 20 20 20 20  SET=-1;.        
4c50: 66 6f 72 20 66 20 69 6e 20 24 7b 43 44 52 4f 4d  for f in ${CDROM
4c60: 5f 43 48 45 43 4b 5f 31 2f 2f 3a 2f 20 7d 3b 0a  _CHECK_1//:/ };.
4c70: 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20          do.     
4c80: 20 20 20 20 20 20 20 28 28 2b 2b 43 44 52 4f 4d         ((++CDROM
4c90: 5f 53 45 54 29 29 3b 0a 20 20 20 20 20 20 20 20  _SET));.        
4ca0: 20 20 20 20 5b 5b 20 2d 65 20 24 7b 43 44 5f 52      [[ -e ${CD_R
4cb0: 4f 4f 54 7d 2f 24 7b 66 7d 20 5d 5d 20 26 26 20  OOT}/${f} ]] && 
4cc0: 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 64  break;.        d
4cd0: 6f 6e 65 3b 0a 20 20 20 20 20 20 20 20 65 78 70  one;.        exp
4ce0: 6f 72 74 20 43 44 52 4f 4d 5f 4d 41 54 43 48 3d  ort CDROM_MATCH=
4cf0: 24 7b 66 7d 3b 0a 20 20 20 20 20 20 20 20 72 65  ${f};.        re
4d00: 74 75 72 6e 3b 0a 20 20 20 20 66 69 3b 0a 20 20  turn;.    fi;.  
4d10: 20 20 69 66 20 5b 5b 20 24 7b 43 44 52 4f 4d 5f    if [[ ${CDROM_
4d20: 54 4f 54 41 4c 5f 43 44 53 7d 20 2d 65 71 20 31  TOTAL_CDS} -eq 1
4d30: 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20   ]]; then.      
4d40: 20 20 65 69 6e 66 6f 20 22 54 68 69 73 20 65 62    einfo "This eb
4d50: 75 69 6c 64 20 77 69 6c 6c 20 6e 65 65 64 20 74  uild will need t
4d60: 68 65 20 24 7b 43 44 52 4f 4d 5f 4e 41 4d 45 3a  he ${CDROM_NAME:
4d70: 2d 63 64 72 6f 6d 20 66 6f 72 20 24 7b 50 4e 7d  -cdrom for ${PN}
4d80: 7d 22 3b 0a 20 20 20 20 20 20 20 20 65 63 68 6f  }";.        echo
4d90: 3b 0a 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20  ;.        einfo 
4da0: 22 49 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 68  "If you do not h
4db0: 61 76 65 20 74 68 65 20 43 44 2c 20 62 75 74 20  ave the CD, but 
4dc0: 68 61 76 65 20 74 68 65 20 64 61 74 61 20 66 69  have the data fi
4dd0: 6c 65 73 22 3b 0a 20 20 20 20 20 20 20 20 65 69  les";.        ei
4de0: 6e 66 6f 20 22 6d 6f 75 6e 74 65 64 20 73 6f 6d  nfo "mounted som
4df0: 65 77 68 65 72 65 20 6f 6e 20 79 6f 75 72 20 66  ewhere on your f
4e00: 69 6c 65 73 79 73 74 65 6d 2c 20 6a 75 73 74 20  ilesystem, just 
4e10: 65 78 70 6f 72 74 22 3b 0a 20 20 20 20 20 20 20  export";.       
4e20: 20 65 69 6e 66 6f 20 22 74 68 65 20 76 61 72 69   einfo "the vari
4e30: 61 62 6c 65 20 43 44 5f 52 4f 4f 54 20 73 6f 20  able CD_ROOT so 
4e40: 74 68 61 74 20 69 74 20 70 6f 69 6e 74 73 20 74  that it points t
4e50: 6f 20 74 68 65 22 3b 0a 20 20 20 20 20 20 20 20  o the";.        
4e60: 65 69 6e 66 6f 20 22 64 69 72 65 63 74 6f 72 79  einfo "directory
4e70: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20   containing the 
4e80: 66 69 6c 65 73 2e 22 3b 0a 20 20 20 20 20 20 20  files.";.       
4e90: 20 65 63 68 6f 3b 0a 20 20 20 20 20 20 20 20 65   echo;.        e
4ea0: 69 6e 66 6f 20 22 46 6f 72 20 65 78 61 6d 70 6c  info "For exampl
4eb0: 65 3a 22 3b 0a 20 20 20 20 20 20 20 20 65 69 6e  e:";.        ein
4ec0: 66 6f 20 22 65 78 70 6f 72 74 20 43 44 5f 52 4f  fo "export CD_RO
4ed0: 4f 54 3d 2f 6d 6e 74 2f 63 64 72 6f 6d 22 3b 0a  OT=/mnt/cdrom";.
4ee0: 20 20 20 20 20 20 20 20 65 63 68 6f 3b 0a 20 20          echo;.  
4ef0: 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 69    else.        i
4f00: 66 20 5b 5b 20 2d 6e 20 24 7b 43 44 52 4f 4d 5f  f [[ -n ${CDROM_
4f10: 4e 41 4d 45 5f 53 45 54 7d 20 5d 5d 3b 20 74 68  NAME_SET} ]]; th
4f20: 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 63  en.            c
4f30: 64 63 6e 74 3d 30 3b 0a 20 20 20 20 20 20 20 20  dcnt=0;.        
4f40: 20 20 20 20 77 68 69 6c 65 20 5b 5b 20 24 7b 63      while [[ ${c
4f50: 64 63 6e 74 7d 20 2d 6c 74 20 24 7b 43 44 52 4f  dcnt} -lt ${CDRO
4f60: 4d 5f 54 4f 54 41 4c 5f 43 44 53 7d 20 5d 5d 3b  M_TOTAL_CDS} ]];
4f70: 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20   do.            
4f80: 20 20 20 20 28 28 2b 2b 63 64 63 6e 74 29 29 3b      ((++cdcnt));
4f90: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
4fa0: 20 65 78 70 6f 72 74 20 43 44 52 4f 4d 5f 4e 41   export CDROM_NA
4fb0: 4d 45 5f 24 7b 63 64 63 6e 74 7d 3d 22 24 7b 43  ME_${cdcnt}="${C
4fc0: 44 52 4f 4d 5f 4e 41 4d 45 5f 53 45 54 5b 24 28  DROM_NAME_SET[$(
4fd0: 28 24 7b 63 64 63 6e 74 7d 2d 31 29 29 5d 7d 22  (${cdcnt}-1))]}"
4fe0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f  ;.            do
4ff0: 6e 65 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a  ne;.        fi;.
5000: 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22 54          einfo "T
5010: 68 69 73 20 70 61 63 6b 61 67 65 20 77 69 6c 6c  his package will
5020: 20 6e 65 65 64 20 61 63 63 65 73 73 20 74 6f 20   need access to 
5030: 24 7b 43 44 52 4f 4d 5f 54 4f 54 41 4c 5f 43 44  ${CDROM_TOTAL_CD
5040: 53 7d 20 63 64 73 2e 22 3b 0a 20 20 20 20 20 20  S} cds.";.      
5050: 20 20 63 64 63 6e 74 3d 30 3b 0a 20 20 20 20 20    cdcnt=0;.     
5060: 20 20 20 77 68 69 6c 65 20 5b 5b 20 24 7b 63 64     while [[ ${cd
5070: 63 6e 74 7d 20 2d 6c 74 20 24 7b 43 44 52 4f 4d  cnt} -lt ${CDROM
5080: 5f 54 4f 54 41 4c 5f 43 44 53 7d 20 5d 5d 3b 20  _TOTAL_CDS} ]]; 
5090: 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  do.            (
50a0: 28 2b 2b 63 64 63 6e 74 29 29 3b 0a 20 20 20 20  (++cdcnt));.    
50b0: 20 20 20 20 20 20 20 20 76 61 72 3d 22 43 44 52          var="CDR
50c0: 4f 4d 5f 4e 41 4d 45 5f 24 7b 63 64 63 6e 74 7d  OM_NAME_${cdcnt}
50d0: 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b  ";.            [
50e0: 5b 20 21 20 2d 7a 20 24 7b 21 76 61 72 7d 20 5d  [ ! -z ${!var} ]
50f0: 5d 20 26 26 20 65 69 6e 66 6f 20 22 20 43 44 20  ] && einfo " CD 
5100: 24 7b 63 64 63 6e 74 7d 3a 20 24 7b 21 76 61 72  ${cdcnt}: ${!var
5110: 7d 22 3b 0a 20 20 20 20 20 20 20 20 64 6f 6e 65  }";.        done
5120: 3b 0a 20 20 20 20 20 20 20 20 65 63 68 6f 3b 0a  ;.        echo;.
5130: 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22 49          einfo "I
5140: 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 68 61 76  f you do not hav
5150: 65 20 74 68 65 20 43 44 73 2c 20 62 75 74 20 68  e the CDs, but h
5160: 61 76 65 20 74 68 65 20 64 61 74 61 20 66 69 6c  ave the data fil
5170: 65 73 22 3b 0a 20 20 20 20 20 20 20 20 65 69 6e  es";.        ein
5180: 66 6f 20 22 6d 6f 75 6e 74 65 64 20 73 6f 6d 65  fo "mounted some
5190: 77 68 65 72 65 20 6f 6e 20 79 6f 75 72 20 66 69  where on your fi
51a0: 6c 65 73 79 73 74 65 6d 2c 20 6a 75 73 74 20 65  lesystem, just e
51b0: 78 70 6f 72 74 22 3b 0a 20 20 20 20 20 20 20 20  xport";.        
51c0: 65 69 6e 66 6f 20 22 74 68 65 20 66 6f 6c 6c 6f  einfo "the follo
51d0: 77 69 6e 67 20 76 61 72 69 61 62 6c 65 73 20 73  wing variables s
51e0: 6f 20 74 68 65 79 20 70 6f 69 6e 74 20 74 6f 20  o they point to 
51f0: 74 68 65 20 72 69 67 68 74 20 70 6c 61 63 65 3a  the right place:
5200: 22 3b 0a 20 20 20 20 20 20 20 20 65 69 6e 66 6f  ";.        einfo
5210: 6e 20 22 22 3b 0a 20 20 20 20 20 20 20 20 63 64  n "";.        cd
5220: 63 6e 74 3d 30 3b 0a 20 20 20 20 20 20 20 20 77  cnt=0;.        w
5230: 68 69 6c 65 20 5b 5b 20 24 7b 63 64 63 6e 74 7d  hile [[ ${cdcnt}
5240: 20 2d 6c 74 20 24 7b 43 44 52 4f 4d 5f 54 4f 54   -lt ${CDROM_TOT
5250: 41 4c 5f 43 44 53 7d 20 5d 5d 3b 20 64 6f 0a 20  AL_CDS} ]]; do. 
5260: 20 20 20 20 20 20 20 20 20 20 20 28 28 2b 2b 63             ((++c
5270: 64 63 6e 74 29 29 3b 0a 20 20 20 20 20 20 20 20  dcnt));.        
5280: 20 20 20 20 65 63 68 6f 20 2d 6e 20 22 20 43 44      echo -n " CD
5290: 5f 52 4f 4f 54 5f 24 7b 63 64 63 6e 74 7d 22 3b  _ROOT_${cdcnt}";
52a0: 0a 20 20 20 20 20 20 20 20 64 6f 6e 65 3b 0a 20  .        done;. 
52b0: 20 20 20 20 20 20 20 65 63 68 6f 3b 0a 20 20 20         echo;.   
52c0: 20 20 20 20 20 65 69 6e 66 6f 20 22 4f 72 2c 20       einfo "Or, 
52d0: 69 66 20 79 6f 75 20 68 61 76 65 20 61 6c 6c 20  if you have all 
52e0: 74 68 65 20 66 69 6c 65 73 20 69 6e 20 74 68 65  the files in the
52f0: 20 73 61 6d 65 20 70 6c 61 63 65 2c 20 6f 72 22   same place, or"
5300: 3b 0a 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20  ;.        einfo 
5310: 22 79 6f 75 20 6f 6e 6c 79 20 68 61 76 65 20 6f  "you only have o
5320: 6e 65 20 63 64 72 6f 6d 2c 20 79 6f 75 20 63 61  ne cdrom, you ca
5330: 6e 20 65 78 70 6f 72 74 20 43 44 5f 52 4f 4f 54  n export CD_ROOT
5340: 22 3b 0a 20 20 20 20 20 20 20 20 65 69 6e 66 6f  ";.        einfo
5350: 20 22 61 6e 64 20 74 68 61 74 20 70 6c 61 63 65   "and that place
5360: 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73   will be used as
5370: 20 74 68 65 20 73 61 6d 65 20 64 61 74 61 20 73   the same data s
5380: 6f 75 72 63 65 22 3b 0a 20 20 20 20 20 20 20 20  ource";.        
5390: 65 69 6e 66 6f 20 22 66 6f 72 20 61 6c 6c 20 74  einfo "for all t
53a0: 68 65 20 43 44 73 2e 22 3b 0a 20 20 20 20 20 20  he CDs.";.      
53b0: 20 20 65 63 68 6f 3b 0a 20 20 20 20 20 20 20 20    echo;.        
53c0: 65 69 6e 66 6f 20 22 46 6f 72 20 65 78 61 6d 70  einfo "For examp
53d0: 6c 65 3a 22 3b 0a 20 20 20 20 20 20 20 20 65 69  le:";.        ei
53e0: 6e 66 6f 20 22 65 78 70 6f 72 74 20 43 44 5f 52  nfo "export CD_R
53f0: 4f 4f 54 5f 31 3d 2f 6d 6e 74 2f 63 64 72 6f 6d  OOT_1=/mnt/cdrom
5400: 22 3b 0a 20 20 20 20 20 20 20 20 65 63 68 6f 3b  ";.        echo;
5410: 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 65 78 70  .    fi;.    exp
5420: 6f 72 74 20 43 44 52 4f 4d 5f 53 45 54 3d 22 22  ort CDROM_SET=""
5430: 3b 0a 20 20 20 20 65 78 70 6f 72 74 20 43 44 52  ;.    export CDR
5440: 4f 4d 5f 43 55 52 52 45 4e 54 5f 43 44 3d 30 3b  OM_CURRENT_CD=0;
5450: 0a 20 20 20 20 63 64 72 6f 6d 5f 6c 6f 61 64 5f  .    cdrom_load_
5460: 6e 65 78 74 5f 63 64 0a 7d 0a 63 64 72 6f 6d 5f  next_cd.}.cdrom_
5470: 6c 6f 61 64 5f 6e 65 78 74 5f 63 64 20 28 29 20  load_next_cd () 
5480: 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20 76 61  .{ .    local va
5490: 72 3b 0a 20 20 20 20 28 28 2b 2b 43 44 52 4f 4d  r;.    ((++CDROM
54a0: 5f 43 55 52 52 45 4e 54 5f 43 44 29 29 3b 0a 20  _CURRENT_CD));. 
54b0: 20 20 20 75 6e 73 65 74 20 43 44 52 4f 4d 5f 52     unset CDROM_R
54c0: 4f 4f 54 3b 0a 20 20 20 20 76 61 72 3d 43 44 5f  OOT;.    var=CD_
54d0: 52 4f 4f 54 5f 24 7b 43 44 52 4f 4d 5f 43 55 52  ROOT_${CDROM_CUR
54e0: 52 45 4e 54 5f 43 44 7d 3b 0a 20 20 20 20 5b 5b  RENT_CD};.    [[
54f0: 20 2d 7a 20 24 7b 21 76 61 72 7d 20 5d 5d 20 26   -z ${!var} ]] &
5500: 26 20 76 61 72 3d 22 43 44 5f 52 4f 4f 54 22 3b  & var="CD_ROOT";
5510: 0a 20 20 20 20 69 66 20 5b 5b 20 2d 7a 20 24 7b  .    if [[ -z ${
5520: 21 76 61 72 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20  !var} ]]; then. 
5530: 20 20 20 20 20 20 20 76 61 72 3d 22 43 44 52 4f         var="CDRO
5540: 4d 5f 43 48 45 43 4b 5f 24 7b 43 44 52 4f 4d 5f  M_CHECK_${CDROM_
5550: 43 55 52 52 45 4e 54 5f 43 44 7d 22 3b 0a 20 20  CURRENT_CD}";.  
5560: 20 20 20 20 20 20 5f 63 64 72 6f 6d 5f 6c 6f 63        _cdrom_loc
5570: 61 74 65 5f 66 69 6c 65 5f 6f 6e 5f 63 64 20 24  ate_file_on_cd $
5580: 7b 21 76 61 72 7d 3b 0a 20 20 20 20 65 6c 73 65  {!var};.    else
5590: 0a 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20  .        export 
55a0: 43 44 52 4f 4d 5f 52 4f 4f 54 3d 24 7b 21 76 61  CDROM_ROOT=${!va
55b0: 72 7d 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20  r};.    fi;.    
55c0: 65 69 6e 66 6f 20 22 46 6f 75 6e 64 20 43 44 20  einfo "Found CD 
55d0: 23 24 7b 43 44 52 4f 4d 5f 43 55 52 52 45 4e 54  #${CDROM_CURRENT
55e0: 5f 43 44 7d 20 72 6f 6f 74 20 61 74 20 24 7b 43  _CD} root at ${C
55f0: 44 52 4f 4d 5f 52 4f 4f 54 7d 22 0a 7d 0a 63 68  DROM_ROOT}".}.ch
5600: 65 63 6b 5f 6c 69 63 65 6e 73 65 20 28 29 20 0a  eck_license () .
5610: 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20 6c 69 63  { .    local lic
5620: 3d 24 31 3b 0a 20 20 20 20 69 66 20 5b 20 2d 7a  =$1;.    if [ -z
5630: 20 22 24 7b 6c 69 63 7d 22 20 5d 3b 20 74 68 65   "${lic}" ]; the
5640: 6e 0a 20 20 20 20 20 20 20 20 6c 69 63 3d 22 24  n.        lic="$
5650: 7b 50 4f 52 54 44 49 52 7d 2f 6c 69 63 65 6e 73  {PORTDIR}/licens
5660: 65 73 2f 24 7b 4c 49 43 45 4e 53 45 7d 22 3b 0a  es/${LICENSE}";.
5670: 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20      else.       
5680: 20 69 66 20 5b 20 2d 65 20 22 24 7b 50 4f 52 54   if [ -e "${PORT
5690: 44 49 52 7d 2f 6c 69 63 65 6e 73 65 73 2f 24 7b  DIR}/licenses/${
56a0: 6c 69 63 7d 22 20 5d 3b 20 74 68 65 6e 0a 20 20  lic}" ]; then.  
56b0: 20 20 20 20 20 20 20 20 20 20 6c 69 63 3d 22 24            lic="$
56c0: 7b 50 4f 52 54 44 49 52 7d 2f 6c 69 63 65 6e 73  {PORTDIR}/licens
56d0: 65 73 2f 24 7b 6c 69 63 7d 22 3b 0a 20 20 20 20  es/${lic}";.    
56e0: 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20      else.       
56f0: 20 20 20 20 20 69 66 20 5b 20 2d 65 20 22 24 7b       if [ -e "${
5700: 50 57 44 7d 2f 24 7b 6c 69 63 7d 22 20 5d 3b 20  PWD}/${lic}" ]; 
5710: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20  then.           
5720: 20 20 20 20 20 6c 69 63 3d 22 24 7b 50 57 44 7d       lic="${PWD}
5730: 2f 24 7b 6c 69 63 7d 22 3b 0a 20 20 20 20 20 20  /${lic}";.      
5740: 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
5750: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 20             if [ 
5760: 2d 65 20 22 24 7b 6c 69 63 7d 22 20 5d 3b 20 74  -e "${lic}" ]; t
5770: 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20  hen.            
5780: 20 20 20 20 20 20 20 20 6c 69 63 3d 22 24 7b 6c          lic="${l
5790: 69 63 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20  ic}";.          
57a0: 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
57b0: 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
57c0: 20 20 66 69 3b 0a 20 20 20 20 66 69 3b 0a 20 20    fi;.    fi;.  
57d0: 20 20 5b 20 21 20 2d 66 20 22 24 7b 6c 69 63 7d    [ ! -f "${lic}
57e0: 22 20 5d 20 26 26 20 64 69 65 20 22 43 6f 75 6c  " ] && die "Coul
57f0: 64 20 6e 6f 74 20 66 69 6e 64 20 72 65 71 75 65  d not find reque
5800: 73 74 65 64 20 6c 69 63 65 6e 73 65 20 24 7b 6c  sted license ${l
5810: 69 63 7d 22 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  ic}";.    local 
5820: 6c 3d 22 60 62 61 73 65 6e 61 6d 65 20 24 7b 6c  l="`basename ${l
5830: 69 63 7d 60 22 3b 0a 20 20 20 20 6c 6f 63 61 6c  ic}`";.    local
5840: 20 73 68 6f 70 74 73 3d 24 2d 3b 0a 20 20 20 20   shopts=$-;.    
5850: 6c 6f 63 61 6c 20 61 6c 69 63 3b 0a 20 20 20 20  local alic;.    
5860: 73 65 74 20 2d 6f 20 6e 6f 67 6c 6f 62 3b 0a 20  set -o noglob;. 
5870: 20 20 20 66 6f 72 20 61 6c 69 63 20 69 6e 20 24     for alic in $
5880: 7b 41 43 43 45 50 54 5f 4c 49 43 45 4e 53 45 7d  {ACCEPT_LICENSE}
5890: 3b 0a 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20  ;.    do.       
58a0: 20 69 66 20 5b 5b 20 24 7b 61 6c 69 63 7d 20 3d   if [[ ${alic} =
58b0: 3d 20 24 7b 6c 7d 20 5d 5d 3b 20 74 68 65 6e 0a  = ${l} ]]; then.
58c0: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20              set 
58d0: 2b 6f 20 6e 6f 67 6c 6f 62 3b 0a 20 20 20 20 20  +o noglob;.     
58e0: 20 20 20 20 20 20 20 73 65 74 20 2d 24 7b 73 68         set -${sh
58f0: 6f 70 74 73 7d 3b 0a 20 20 20 20 20 20 20 20 20  opts};.         
5900: 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20     return 0;.   
5910: 20 20 20 20 20 66 69 3b 0a 20 20 20 20 64 6f 6e       fi;.    don
5920: 65 3b 0a 20 20 20 20 73 65 74 20 2b 6f 20 6e 6f  e;.    set +o no
5930: 67 6c 6f 62 3b 0a 20 20 20 20 73 65 74 20 2d 24  glob;.    set -$
5940: 73 68 6f 70 74 73 3b 0a 20 20 20 20 6c 6f 63 61  shopts;.    loca
5950: 6c 20 6c 69 63 6d 73 67 3d 24 28 65 6d 6b 74 65  l licmsg=$(emkte
5960: 6d 70 29 3b 0a 20 20 20 20 63 61 74 20 3e 20 24  mp);.    cat > $
5970: 7b 6c 69 63 6d 73 67 7d 20 20 3c 3c 2d 45 4f 46  {licmsg}  <<-EOF
5980: 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .***************
5990: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
59a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
59b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 54 68 65 20  ***********.The 
59c0: 66 6f 6c 6c 6f 77 69 6e 67 20 6c 69 63 65 6e 73  following licens
59d0: 65 20 6f 75 74 6c 69 6e 65 73 20 74 68 65 20 74  e outlines the t
59e0: 65 72 6d 73 20 6f 66 20 75 73 65 20 6f 66 20 74  erms of use of t
59f0: 68 69 73 0a 70 61 63 6b 61 67 65 2e 20 20 59 6f  his.package.  Yo
5a00: 75 20 4d 55 53 54 20 61 63 63 65 70 74 20 74 68  u MUST accept th
5a10: 69 73 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 69  is license for i
5a20: 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 74 6f 0a 63  nstallation to.c
5a30: 6f 6e 74 69 6e 75 65 2e 20 20 57 68 65 6e 20 79  ontinue.  When y
5a40: 6f 75 20 61 72 65 20 64 6f 6e 65 20 76 69 65 77  ou are done view
5a50: 69 6e 67 2c 20 68 69 74 20 27 71 27 2e 09 49 66  ing, hit 'q'..If
5a60: 20 79 6f 75 0a 43 54 52 4c 2b 43 20 6f 75 74 20   you.CTRL+C out 
5a70: 6f 66 20 74 68 69 73 2c 20 74 68 65 20 69 6e 73  of this, the ins
5a80: 74 61 6c 6c 20 77 69 6c 6c 20 6e 6f 74 20 72 75  tall will not ru
5a90: 6e 21 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  n!.*************
5aa0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5ab0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5ac0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 45  *************..E
5ad0: 4f 46 0a 0a 20 20 20 20 63 61 74 20 24 7b 6c 69  OF..    cat ${li
5ae0: 63 7d 20 3e 3e 20 24 7b 6c 69 63 6d 73 67 7d 3b  c} >> ${licmsg};
5af0: 0a 20 20 20 20 24 7b 50 41 47 45 52 3a 2d 6c 65  .    ${PAGER:-le
5b00: 73 73 7d 20 24 7b 6c 69 63 6d 73 67 7d 20 7c 7c  ss} ${licmsg} ||
5b10: 20 64 69 65 20 22 43 6f 75 6c 64 20 6e 6f 74 20   die "Could not 
5b20: 65 78 65 63 75 74 65 20 70 61 67 65 72 20 28 24  execute pager ($
5b30: 7b 50 41 47 45 52 7d 29 20 74 6f 20 61 63 63 65  {PAGER}) to acce
5b40: 70 74 20 24 7b 6c 69 63 7d 22 3b 0a 20 20 20 20  pt ${lic}";.    
5b50: 65 69 6e 66 6f 6e 20 22 44 6f 20 79 6f 75 20 61  einfon "Do you a
5b60: 63 63 65 70 74 20 74 68 65 20 74 65 72 6d 73 20  ccept the terms 
5b70: 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20  of this license 
5b80: 28 24 7b 6c 7d 29 3f 20 5b 79 65 73 2f 6e 6f 5d  (${l})? [yes/no]
5b90: 20 22 3b 0a 20 20 20 20 72 65 61 64 20 61 6c 69   ";.    read ali
5ba0: 63 3b 0a 20 20 20 20 63 61 73 65 20 24 7b 61 6c  c;.    case ${al
5bb0: 69 63 7d 20 69 6e 20 0a 20 20 20 20 20 20 20 20  ic} in .        
5bc0: 79 65 73 20 7c 20 59 65 73 20 7c 20 79 20 7c 20  yes | Yes | y | 
5bd0: 59 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72  Y).            r
5be0: 65 74 75 72 6e 20 30 0a 20 20 20 20 20 20 20 20  eturn 0.        
5bf0: 3b 3b 0a 20 20 20 20 20 20 20 20 2a 29 0a 20 20  ;;.        *).  
5c00: 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 3b 0a            echo;.
5c10: 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f              echo
5c20: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63  ;.            ec
5c30: 68 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ho;.            
5c40: 65 65 72 72 6f 72 20 22 59 6f 75 20 4d 55 53 54  eerror "You MUST
5c50: 20 61 63 63 65 70 74 20 74 68 65 20 6c 69 63 65   accept the lice
5c60: 6e 73 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 21  nse to continue!
5c70: 20 20 45 78 69 74 69 6e 67 21 22 3b 0a 20 20 20    Exiting!";.   
5c80: 20 20 20 20 20 20 20 20 20 64 69 65 20 22 46 61           die "Fa
5c90: 69 6c 65 64 20 74 6f 20 61 63 63 65 70 74 20 6c  iled to accept l
5ca0: 69 63 65 6e 73 65 22 0a 20 20 20 20 20 20 20 20  icense".        
5cb0: 3b 3b 0a 20 20 20 20 65 73 61 63 0a 7d 0a 63 72  ;;.    esac.}.cr
5cc0: 65 61 74 65 5f 6d 6c 5f 69 6e 63 6c 75 64 65 73  eate_ml_includes
5cd0: 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61   () .{ .    loca
5ce0: 6c 20 64 65 73 74 3d 24 31 3b 0a 20 20 20 20 73  l dest=$1;.    s
5cf0: 68 69 66 74 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  hift;.    local 
5d00: 62 61 73 65 64 69 72 73 3d 24 28 63 72 65 61 74  basedirs=$(creat
5d10: 65 5f 6d 6c 5f 69 6e 63 6c 75 64 65 73 2d 6c 69  e_ml_includes-li
5d20: 73 74 64 69 72 73 20 22 24 40 22 29 3b 0a 20 20  stdirs "$@");.  
5d30: 20 20 63 72 65 61 74 65 5f 6d 6c 5f 69 6e 63 6c    create_ml_incl
5d40: 75 64 65 73 2d 6d 61 6b 65 64 65 73 74 64 69 72  udes-makedestdir
5d50: 73 20 24 7b 64 65 73 74 7d 20 24 7b 62 61 73 65  s ${dest} ${base
5d60: 64 69 72 73 7d 3b 0a 20 20 20 20 6c 6f 63 61 6c  dirs};.    local
5d70: 20 66 69 6c 65 3b 0a 20 20 20 20 66 6f 72 20 66   file;.    for f
5d80: 69 6c 65 20 69 6e 20 24 28 63 72 65 61 74 65 5f  ile in $(create_
5d90: 6d 6c 5f 69 6e 63 6c 75 64 65 73 2d 61 6c 6c 66  ml_includes-allf
5da0: 69 6c 65 73 20 24 7b 62 61 73 65 64 69 72 73 7d  iles ${basedirs}
5db0: 29 3b 0a 20 20 20 20 64 6f 0a 20 20 20 20 20 20  );.    do.      
5dc0: 20 20 28 20 65 63 68 6f 20 22 2f 2a 20 41 75 74    ( echo "/* Aut
5dd0: 6f 67 65 6e 65 72 61 74 65 64 20 62 79 20 63 72  ogenerated by cr
5de0: 65 61 74 65 5f 6d 6c 5f 69 6e 63 6c 75 64 65 73  eate_ml_includes
5df0: 28 29 20 69 6e 20 6d 75 6c 74 69 6c 69 62 2e 65  () in multilib.e
5e00: 63 6c 61 73 73 20 2a 2f 22 3b 0a 20 20 20 20 20  class */";.     
5e10: 20 20 20 6c 6f 63 61 6c 20 64 69 72 3b 0a 20 20     local dir;.  
5e20: 20 20 20 20 20 20 66 6f 72 20 64 69 72 20 69 6e        for dir in
5e30: 20 24 7b 62 61 73 65 64 69 72 73 7d 3b 0a 20 20   ${basedirs};.  
5e40: 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20        do.       
5e50: 20 20 20 20 20 69 66 20 5b 5b 20 2d 66 20 24 7b       if [[ -f ${
5e60: 44 7d 2f 24 7b 64 69 72 7d 2f 24 7b 66 69 6c 65  D}/${dir}/${file
5e70: 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  } ]]; then.     
5e80: 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20             echo 
5e90: 22 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  "";.            
5ea0: 20 20 20 20 6c 6f 63 61 6c 20 73 79 6d 3d 24 28      local sym=$(
5eb0: 63 72 65 61 74 65 5f 6d 6c 5f 69 6e 63 6c 75 64  create_ml_includ
5ec0: 65 73 2d 73 79 6d 5f 66 6f 72 5f 64 69 72 20 24  es-sym_for_dir $
5ed0: 7b 64 69 72 7d 20 22 24 40 22 29 3b 0a 20 20 20  {dir} "$@");.   
5ee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
5ef0: 5b 5b 20 24 7b 73 79 6d 2f 3d 7d 20 21 3d 20 22  [[ ${sym/=} != "
5f00: 24 7b 73 79 6d 7d 22 20 5d 5d 3b 20 74 68 65 6e  ${sym}" ]]; then
5f10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
5f20: 20 20 20 20 20 65 63 68 6f 20 22 23 69 66 20 24       echo "#if $
5f30: 7b 73 79 6d 7d 22 3b 0a 20 20 20 20 20 20 20 20  {sym}";.        
5f40: 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20          else.   
5f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5f60: 20 69 66 20 5b 5b 20 24 7b 73 79 6d 3a 3a 31 7d   if [[ ${sym::1}
5f70: 20 3d 3d 20 22 21 22 20 5d 5d 3b 20 74 68 65 6e   == "!" ]]; then
5f80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
5f90: 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 23           echo "#
5fa0: 69 66 6e 64 65 66 20 24 7b 73 79 6d 3a 31 7d 22  ifndef ${sym:1}"
5fb0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
5fc0: 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
5fd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5fe0: 20 20 20 65 63 68 6f 20 22 23 69 66 64 65 66 20     echo "#ifdef 
5ff0: 24 7b 73 79 6d 7d 22 3b 0a 20 20 20 20 20 20 20  ${sym}";.       
6000: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 3b               fi;
6010: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
6020: 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20   fi;.           
6030: 20 20 20 20 20 65 63 68 6f 20 22 23 20 69 6e 63       echo "# inc
6040: 6c 75 64 65 20 3c 24 28 63 72 65 61 74 65 5f 6d  lude <$(create_m
6050: 6c 5f 69 6e 63 6c 75 64 65 73 2d 61 62 73 6f 6c  l_includes-absol
6060: 75 74 65 20 24 7b 64 69 72 7d 2f 24 7b 66 69 6c  ute ${dir}/${fil
6070: 65 7d 29 3e 22 3b 0a 20 20 20 20 20 20 20 20 20  e})>";.         
6080: 20 20 20 20 20 20 20 65 63 68 6f 20 22 23 65 6e         echo "#en
6090: 64 69 66 20 2f 2a 20 24 7b 73 79 6d 7d 20 2a 2f  dif /* ${sym} */
60a0: 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66  ";.            f
60b0: 69 3b 0a 20 20 20 20 20 20 20 20 64 6f 6e 65 20  i;.        done 
60c0: 29 20 3e 20 22 24 7b 44 7d 2f 24 7b 64 65 73 74  ) > "${D}/${dest
60d0: 7d 2f 24 7b 66 69 6c 65 7d 22 3b 0a 20 20 20 20  }/${file}";.    
60e0: 64 6f 6e 65 0a 7d 0a 63 72 65 61 74 65 5f 6d 6c  done.}.create_ml
60f0: 5f 69 6e 63 6c 75 64 65 73 2d 61 62 73 6f 6c 75  _includes-absolu
6100: 74 65 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f  te () .{ .    lo
6110: 63 61 6c 20 64 73 74 3d 22 24 28 63 72 65 61 74  cal dst="$(creat
6120: 65 5f 6d 6c 5f 69 6e 63 6c 75 64 65 73 2d 74 69  e_ml_includes-ti
6130: 64 79 5f 70 61 74 68 20 24 31 29 22 3b 0a 20 20  dy_path $1)";.  
6140: 20 20 64 73 74 3d 28 24 7b 64 73 74 2f 2f 5c 2f    dst=(${dst//\/
6150: 2f 20 7d 29 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  / });.    local 
6160: 69 3b 0a 20 20 20 20 66 6f 72 20 28 28 69 3d 30  i;.    for ((i=0
6170: 3b 20 69 3c 24 7b 23 64 73 74 5b 2a 5d 7d 3b 20  ; i<${#dst[*]}; 
6180: 69 2b 2b 29 29 0a 20 20 20 20 64 6f 0a 20 20 20  i++)).    do.   
6190: 20 20 20 20 20 5b 20 22 24 7b 64 73 74 5b 69 5d       [ "${dst[i]
61a0: 7d 22 20 3d 3d 20 22 69 6e 63 6c 75 64 65 22 20  }" == "include" 
61b0: 5d 20 26 26 20 62 72 65 61 6b 3b 0a 20 20 20 20  ] && break;.    
61c0: 64 6f 6e 65 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  done;.    local 
61d0: 73 74 72 69 70 5f 75 70 74 6f 3d 24 69 3b 0a 20  strip_upto=$i;. 
61e0: 20 20 20 66 6f 72 20 28 28 69 3d 73 74 72 69 70     for ((i=strip
61f0: 5f 75 70 74 6f 2b 31 3b 20 69 3c 24 7b 23 64 73  _upto+1; i<${#ds
6200: 74 5b 2a 5d 7d 2d 31 3b 20 69 2b 2b 29 29 0a 20  t[*]}-1; i++)). 
6210: 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 65 63     do.        ec
6220: 68 6f 20 2d 6e 20 24 7b 64 73 74 5b 69 5d 7d 2f  ho -n ${dst[i]}/
6230: 3b 0a 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20  ;.    done;.    
6240: 65 63 68 6f 20 2d 6e 20 24 7b 64 73 74 5b 69 5d  echo -n ${dst[i]
6250: 7d 0a 7d 0a 63 72 65 61 74 65 5f 6d 6c 5f 69 6e  }.}.create_ml_in
6260: 63 6c 75 64 65 73 2d 61 6c 6c 66 69 6c 65 73 20  cludes-allfiles 
6270: 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c  () .{ .    local
6280: 20 62 61 73 65 64 69 72 20 66 69 6c 65 3b 0a 20   basedir file;. 
6290: 20 20 20 66 6f 72 20 62 61 73 65 64 69 72 20 69     for basedir i
62a0: 6e 20 22 24 40 22 3b 0a 20 20 20 20 64 6f 0a 20  n "$@";.    do. 
62b0: 20 20 20 20 20 20 20 66 6f 72 20 66 69 6c 65 20         for file 
62c0: 69 6e 20 24 28 66 69 6e 64 20 22 24 7b 44 7d 22  in $(find "${D}"
62d0: 2f 24 7b 62 61 73 65 64 69 72 7d 20 2d 74 79 70  /${basedir} -typ
62e0: 65 20 66 29 3b 0a 20 20 20 20 20 20 20 20 64 6f  e f);.        do
62f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68  .            ech
6300: 6f 20 24 7b 66 69 6c 65 2f 24 7b 44 7d 5c 2f 24  o ${file/${D}\/$
6310: 7b 62 61 73 65 64 69 72 7d 5c 2f 2f 7d 3b 0a 20  {basedir}\//};. 
6320: 20 20 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20         done;.   
6330: 20 64 6f 6e 65 20 7c 20 73 6f 72 74 20 7c 20 75   done | sort | u
6340: 6e 69 71 0a 7d 0a 63 72 65 61 74 65 5f 6d 6c 5f  niq.}.create_ml_
6350: 69 6e 63 6c 75 64 65 73 2d 6c 69 73 74 64 69 72  includes-listdir
6360: 73 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63  s () .{ .    loc
6370: 61 6c 20 64 69 72 73 3b 0a 20 20 20 20 6c 6f 63  al dirs;.    loc
6380: 61 6c 20 64 61 74 61 3b 0a 20 20 20 20 66 6f 72  al data;.    for
6390: 20 64 61 74 61 20 69 6e 20 22 24 40 22 3b 0a 20   data in "$@";. 
63a0: 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 64 69     do.        di
63b0: 72 73 3d 22 24 7b 64 69 72 73 7d 20 24 7b 64 61  rs="${dirs} ${da
63c0: 74 61 2f 2a 3a 2f 7d 22 3b 0a 20 20 20 20 64 6f  ta/*:/}";.    do
63d0: 6e 65 3b 0a 20 20 20 20 65 63 68 6f 20 24 7b 64  ne;.    echo ${d
63e0: 69 72 73 3a 31 7d 0a 7d 0a 63 72 65 61 74 65 5f  irs:1}.}.create_
63f0: 6d 6c 5f 69 6e 63 6c 75 64 65 73 2d 6d 61 6b 65  ml_includes-make
6400: 64 65 73 74 64 69 72 73 20 28 29 20 0a 7b 20 0a  destdirs () .{ .
6410: 20 20 20 20 6c 6f 63 61 6c 20 64 65 73 74 3d 24      local dest=$
6420: 31 3b 0a 20 20 20 20 73 68 69 66 74 3b 0a 20 20  1;.    shift;.  
6430: 20 20 6c 6f 63 61 6c 20 62 61 73 65 64 69 72 73    local basedirs
6440: 3d 24 40 3b 0a 20 20 20 20 64 6f 64 69 72 20 24  =$@;.    dodir $
6450: 7b 64 65 73 74 7d 3b 0a 20 20 20 20 6c 6f 63 61  {dest};.    loca
6460: 6c 20 62 61 73 65 64 69 72 3b 0a 20 20 20 20 66  l basedir;.    f
6470: 6f 72 20 62 61 73 65 64 69 72 20 69 6e 20 24 7b  or basedir in ${
6480: 62 61 73 65 64 69 72 73 7d 3b 0a 20 20 20 20 64  basedirs};.    d
6490: 6f 0a 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20  o.        local 
64a0: 64 69 72 3b 0a 20 20 20 20 20 20 20 20 66 6f 72  dir;.        for
64b0: 20 64 69 72 20 69 6e 20 24 28 66 69 6e 64 20 22   dir in $(find "
64c0: 24 7b 44 7d 22 2f 24 7b 62 61 73 65 64 69 72 7d  ${D}"/${basedir}
64d0: 20 2d 74 79 70 65 20 64 29 3b 0a 20 20 20 20 20   -type d);.     
64e0: 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20     do.          
64f0: 20 20 64 6f 64 69 72 20 24 7b 64 65 73 74 7d 2f    dodir ${dest}/
6500: 24 7b 64 69 72 2f 24 7b 44 7d 5c 2f 24 7b 62 61  ${dir/${D}\/${ba
6510: 73 65 64 69 72 7d 2f 7d 3b 0a 20 20 20 20 20 20  sedir}/};.      
6520: 20 20 64 6f 6e 65 3b 0a 20 20 20 20 64 6f 6e 65    done;.    done
6530: 0a 7d 0a 63 72 65 61 74 65 5f 6d 6c 5f 69 6e 63  .}.create_ml_inc
6540: 6c 75 64 65 73 2d 73 79 6d 5f 66 6f 72 5f 64 69  ludes-sym_for_di
6550: 72 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63  r () .{ .    loc
6560: 61 6c 20 64 69 72 3d 24 31 3b 0a 20 20 20 20 73  al dir=$1;.    s
6570: 68 69 66 74 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  hift;.    local 
6580: 64 61 74 61 3b 0a 20 20 20 20 66 6f 72 20 64 61  data;.    for da
6590: 74 61 20 69 6e 20 22 24 40 22 3b 0a 20 20 20 20  ta in "$@";.    
65a0: 64 6f 0a 20 20 20 20 20 20 20 20 69 66 20 5b 5b  do.        if [[
65b0: 20 24 7b 64 61 74 61 7d 20 3d 3d 20 2a 3a 24 7b   ${data} == *:${
65c0: 64 69 72 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  dir} ]]; then.  
65d0: 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 24            echo $
65e0: 7b 64 61 74 61 2f 3a 2a 2f 7d 3b 0a 20 20 20 20  {data/:*/};.    
65f0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30          return 0
6600: 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20  ;.        fi;.  
6610: 20 20 64 6f 6e 65 3b 0a 20 20 20 20 65 63 68 6f    done;.    echo
6620: 20 22 53 68 6f 75 6c 64 6e 27 74 20 62 65 20 68   "Shouldn't be h
6630: 65 72 65 20 2d 2d 20 63 72 65 61 74 65 5f 6d 6c  ere -- create_ml
6640: 5f 69 6e 63 6c 75 64 65 73 2d 73 79 6d 5f 66 6f  _includes-sym_fo
6650: 72 5f 64 69 72 20 24 31 20 24 40 22 3b 0a 20 20  r_dir $1 $@";.  
6660: 20 20 65 78 69 74 20 31 0a 7d 0a 63 72 65 61 74    exit 1.}.creat
6670: 65 5f 6d 6c 5f 69 6e 63 6c 75 64 65 73 2d 74 69  e_ml_includes-ti
6680: 64 79 5f 70 61 74 68 20 28 29 20 0a 7b 20 0a 20  dy_path () .{ . 
6690: 20 20 20 6c 6f 63 61 6c 20 72 65 6d 6f 76 65 64     local removed
66a0: 3d 24 31 3b 0a 20 20 20 20 69 66 20 5b 20 2d 6e  =$1;.    if [ -n
66b0: 20 22 24 7b 72 65 6d 6f 76 65 64 7d 22 20 5d 3b   "${removed}" ];
66c0: 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 77 68   then.        wh
66d0: 69 6c 65 20 5b 20 22 24 7b 72 65 6d 6f 76 65 64  ile [ "${removed
66e0: 7d 22 20 21 3d 20 22 24 7b 72 65 6d 6f 76 65 64  }" != "${removed
66f0: 2f 5c 2f 5c 2f 2f 5c 2f 7d 22 20 5d 3b 20 64 6f  /\/\//\/}" ]; do
6700: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6d  .            rem
6710: 6f 76 65 64 3d 24 7b 72 65 6d 6f 76 65 64 2f 5c  oved=${removed/\
6720: 2f 5c 2f 2f 5c 2f 7d 3b 0a 20 20 20 20 20 20 20  /\//\/};.       
6730: 20 64 6f 6e 65 3b 0a 20 20 20 20 20 20 20 20 77   done;.        w
6740: 68 69 6c 65 20 5b 20 22 24 7b 72 65 6d 6f 76 65  hile [ "${remove
6750: 64 7d 22 20 21 3d 20 22 24 7b 72 65 6d 6f 76 65  d}" != "${remove
6760: 64 2f 2f 5c 2f 2e 5c 2f 2f 5c 2f 7d 22 20 5d 3b  d//\/.\//\/}" ];
6770: 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20   do.            
6780: 72 65 6d 6f 76 65 64 3d 24 7b 72 65 6d 6f 76 65  removed=${remove
6790: 64 2f 2f 5c 2f 2e 5c 2f 2f 5c 2f 7d 3b 0a 20 20  d//\/.\//\/};.  
67a0: 20 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20        done;.    
67b0: 20 20 20 20 5b 20 22 24 7b 72 65 6d 6f 76 65 64      [ "${removed
67c0: 23 23 2a 2f 7d 22 20 3d 20 22 2e 22 20 5d 20 26  ##*/}" = "." ] &
67d0: 26 20 72 65 6d 6f 76 65 64 3d 24 7b 72 65 6d 6f  & removed=${remo
67e0: 76 65 64 25 2f 2a 7d 3b 0a 20 20 20 20 20 20 20  ved%/*};.       
67f0: 20 77 68 69 6c 65 20 5b 20 22 24 7b 72 65 6d 6f   while [ "${remo
6800: 76 65 64 7d 22 20 21 3d 20 22 24 7b 72 65 6d 6f  ved}" != "${remo
6810: 76 65 64 2f 2f 5c 2f 2e 2e 5c 2f 7d 22 20 5d 3b  ved//\/..\/}" ];
6820: 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20   do.            
6830: 6c 6f 63 61 6c 20 70 31 3d 22 24 7b 72 65 6d 6f  local p1="${remo
6840: 76 65 64 25 25 5c 2f 2e 2e 5c 2f 2a 7d 22 3b 0a  ved%%\/..\/*}";.
6850: 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61              loca
6860: 6c 20 70 32 3d 22 24 7b 72 65 6d 6f 76 65 64 23  l p2="${removed#
6870: 2a 5c 2f 2e 2e 5c 2f 7d 22 3b 0a 20 20 20 20 20  *\/..\/}";.     
6880: 20 20 20 20 20 20 20 72 65 6d 6f 76 65 64 3d 22         removed="
6890: 24 7b 70 31 25 5c 2f 2a 7d 2f 24 7b 70 32 7d 22  ${p1%\/*}/${p2}"
68a0: 3b 0a 20 20 20 20 20 20 20 20 64 6f 6e 65 3b 0a  ;.        done;.
68b0: 20 20 20 20 20 20 20 20 5b 20 22 24 7b 72 65 6d          [ "${rem
68c0: 6f 76 65 64 23 23 2a 2f 7d 22 20 3d 20 22 2e 2e  oved##*/}" = "..
68d0: 22 20 5d 20 26 26 20 72 65 6d 6f 76 65 64 3d 24  " ] && removed=$
68e0: 7b 72 65 6d 6f 76 65 64 25 2f 2a 2f 2a 7d 3b 0a  {removed%/*/*};.
68f0: 20 20 20 20 20 20 20 20 5b 20 22 24 7b 72 65 6d          [ "${rem
6900: 6f 76 65 64 23 23 2a 2f 7d 22 20 3d 20 22 22 20  oved##*/}" = "" 
6910: 5d 20 26 26 20 72 65 6d 6f 76 65 64 3d 24 7b 72  ] && removed=${r
6920: 65 6d 6f 76 65 64 25 2f 2a 7d 3b 0a 20 20 20 20  emoved%/*};.    
6930: 20 20 20 20 65 63 68 6f 20 24 7b 72 65 6d 6f 76      echo ${remov
6940: 65 64 7d 3b 0a 20 20 20 20 66 69 0a 7d 0a 64 61  ed};.    fi.}.da
6950: 72 77 69 6e 74 6f 6f 6c 69 7a 65 20 28 29 20 0a  rwintoolize () .
6960: 7b 20 0a 20 20 20 20 65 77 61 72 6e 20 22 64 61  { .    ewarn "da
6970: 72 77 69 6e 74 6f 6f 6c 69 7a 65 28 29 20 69 73  rwintoolize() is
6980: 20 64 65 70 72 65 63 61 74 65 64 2c 20 70 6c 65   deprecated, ple
6990: 61 73 65 20 6a 75 73 74 20 75 73 65 20 65 6c 69  ase just use eli
69a0: 62 74 6f 6f 6c 69 7a 65 28 29 21 22 3b 0a 20 20  btoolize()!";.  
69b0: 20 20 65 6c 69 62 74 6f 6f 6c 69 7a 65 0a 7d 0a    elibtoolize.}.
69c0: 64 6c 6f 70 65 6e 5f 6c 69 62 20 28 29 20 0a 7b  dlopen_lib () .{
69d0: 20 0a 20 20 20 20 69 66 20 5b 5b 20 24 7b 43 48   .    if [[ ${CH
69e0: 4f 53 54 7d 20 3d 3d 20 2a 2d 6c 69 6e 75 78 2d  OST} == *-linux-
69f0: 67 6e 75 20 7c 7c 20 24 7b 43 48 4f 53 54 7d 20  gnu || ${CHOST} 
6a00: 3d 3d 20 2a 2d 6c 69 6e 75 78 2d 75 63 6c 69 62  == *-linux-uclib
6a10: 63 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  c ]]; then.     
6a20: 20 20 20 65 63 68 6f 20 22 2d 6c 64 6c 22 3b 0a     echo "-ldl";.
6a30: 20 20 20 20 66 69 0a 7d 0a 64 6f 69 63 6f 6e 20      fi.}.doicon 
6a40: 28 29 20 0a 7b 20 0a 20 20 20 20 28 20 6c 6f 63  () .{ .    ( loc
6a50: 61 6c 20 69 20 6a 20 72 65 74 3b 0a 20 20 20 20  al i j ret;.    
6a60: 69 6e 73 69 6e 74 6f 20 2f 75 73 72 2f 73 68 61  insinto /usr/sha
6a70: 72 65 2f 70 69 78 6d 61 70 73 3b 0a 20 20 20 20  re/pixmaps;.    
6a80: 66 6f 72 20 69 20 69 6e 20 22 24 40 22 3b 0a 20  for i in "$@";. 
6a90: 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 69 66     do.        if
6aa0: 20 5b 5b 20 2d 66 20 24 7b 69 7d 20 5d 5d 3b 20   [[ -f ${i} ]]; 
6ab0: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20  then.           
6ac0: 20 64 6f 69 6e 73 20 22 24 7b 69 7d 22 3b 0a 20   doins "${i}";. 
6ad0: 20 20 20 20 20 20 20 20 20 20 20 28 28 72 65 74             ((ret
6ae0: 2b 3d 24 3f 29 29 3b 0a 20 20 20 20 20 20 20 20  +=$?));.        
6af0: 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20  else.           
6b00: 20 69 66 20 5b 5b 20 2d 64 20 24 7b 69 7d 20 5d   if [[ -d ${i} ]
6b10: 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  ]; then.        
6b20: 20 20 20 20 20 20 20 20 66 6f 72 20 6a 20 69 6e          for j in
6b30: 20 22 24 7b 69 7d 22 2f 2a 2e 70 6e 67 3b 0a 20   "${i}"/*.png;. 
6b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64                 d
6b50: 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  o.              
6b60: 20 20 20 20 20 20 64 6f 69 6e 73 20 22 24 7b 6a        doins "${j
6b70: 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  }";.            
6b80: 20 20 20 20 20 20 20 20 28 28 72 65 74 2b 3d 24          ((ret+=$
6b90: 3f 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20  ?));.           
6ba0: 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 20       done;.     
6bb0: 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20         else.    
6bc0: 20 20 20 20 20 20 20 20 20 20 20 20 28 28 2b 2b              ((++
6bd0: 72 65 74 29 29 3b 0a 20 20 20 20 20 20 20 20 20  ret));.         
6be0: 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 66     fi;.        f
6bf0: 69 3b 0a 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20  i;.    done;.   
6c00: 20 65 78 69 74 20 24 7b 72 65 74 7d 20 29 0a 7d   exit ${ret} ).}
6c10: 0a 64 6f 6d 65 6e 75 20 28 29 20 0a 7b 20 0a 20  .domenu () .{ . 
6c20: 20 20 20 28 20 6c 6f 63 61 6c 20 69 20 6a 20 72     ( local i j r
6c30: 65 74 3d 30 3b 0a 20 20 20 20 69 6e 73 69 6e 74  et=0;.    insint
6c40: 6f 20 2f 75 73 72 2f 73 68 61 72 65 2f 61 70 70  o /usr/share/app
6c50: 6c 69 63 61 74 69 6f 6e 73 3b 0a 20 20 20 20 66  lications;.    f
6c60: 6f 72 20 69 20 69 6e 20 22 24 40 22 3b 0a 20 20  or i in "$@";.  
6c70: 20 20 64 6f 0a 20 20 20 20 20 20 20 20 69 66 20    do.        if 
6c80: 5b 5b 20 2d 66 20 24 7b 69 7d 20 5d 5d 3b 20 74  [[ -f ${i} ]]; t
6c90: 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20  hen.            
6ca0: 64 6f 69 6e 73 20 22 24 7b 69 7d 22 3b 0a 20 20  doins "${i}";.  
6cb0: 20 20 20 20 20 20 20 20 20 20 28 28 72 65 74 2b            ((ret+
6cc0: 3d 24 3f 29 29 3b 0a 20 20 20 20 20 20 20 20 65  =$?));.        e
6cd0: 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  lse.            
6ce0: 69 66 20 5b 5b 20 2d 64 20 24 7b 69 7d 20 5d 5d  if [[ -d ${i} ]]
6cf0: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
6d00: 20 20 20 20 20 20 20 66 6f 72 20 6a 20 69 6e 20         for j in 
6d10: 22 24 7b 69 7d 22 2f 2a 2e 64 65 73 6b 74 6f 70  "${i}"/*.desktop
6d20: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
6d30: 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20    do.           
6d40: 20 20 20 20 20 20 20 20 20 64 6f 69 6e 73 20 22           doins "
6d50: 24 7b 6a 7d 22 3b 0a 20 20 20 20 20 20 20 20 20  ${j}";.         
6d60: 20 20 20 20 20 20 20 20 20 20 20 28 28 72 65 74             ((ret
6d70: 2b 3d 24 3f 29 29 3b 0a 20 20 20 20 20 20 20 20  +=$?));.        
6d80: 20 20 20 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20          done;.  
6d90: 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20            else. 
6da0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28                 (
6db0: 28 2b 2b 72 65 74 29 29 3b 0a 20 20 20 20 20 20  (++ret));.      
6dc0: 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
6dd0: 20 20 66 69 3b 0a 20 20 20 20 64 6f 6e 65 3b 0a    fi;.    done;.
6de0: 20 20 20 20 65 78 69 74 20 24 7b 72 65 74 7d 20      exit ${ret} 
6df0: 29 0a 7d 0a 64 79 6e 5f 70 72 65 74 65 6e 64 20  ).}.dyn_pretend 
6e00: 28 29 20 0a 7b 20 0a 20 20 20 20 65 62 75 69 6c  () .{ .    ebuil
6e10: 64 5f 70 68 61 73 65 5f 77 69 74 68 5f 68 6f 6f  d_phase_with_hoo
6e20: 6b 73 20 70 6b 67 5f 70 72 65 74 65 6e 64 0a 7d  ks pkg_pretend.}
6e30: 0a 65 61 63 6c 6f 63 61 6c 20 28 29 20 0a 7b 20  .eaclocal () .{ 
6e40: 0a 20 20 20 20 6c 6f 63 61 6c 20 61 63 6c 6f 63  .    local acloc
6e50: 61 6c 5f 6f 70 74 73 3b 0a 20 20 20 20 6c 6f 63  al_opts;.    loc
6e60: 61 6c 20 61 6d 66 6c 61 67 73 5f 66 69 6c 65 3b  al amflags_file;
6e70: 0a 20 20 20 20 66 6f 72 20 61 6d 66 6c 61 67 73  .    for amflags
6e80: 5f 66 69 6c 65 20 69 6e 20 47 4e 55 6d 61 6b 65  _file in GNUmake
6e90: 66 69 6c 65 2e 61 6d 20 4d 61 6b 65 66 69 6c 65  file.am Makefile
6ea0: 2e 61 6d 20 47 4e 55 6d 61 6b 65 66 69 6c 65 2e  .am GNUmakefile.
6eb0: 69 6e 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3b 0a  in Makefile.in;.
6ec0: 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 5b      do.        [
6ed0: 5b 20 2d 65 20 24 7b 61 6d 66 6c 61 67 73 5f 66  [ -e ${amflags_f
6ee0: 69 6c 65 7d 20 5d 5d 20 7c 7c 20 63 6f 6e 74 69  ile} ]] || conti
6ef0: 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 61 63 6c  nue;.        acl
6f00: 6f 63 61 6c 5f 6f 70 74 73 3d 24 28 73 65 64 20  ocal_opts=$(sed 
6f10: 2d 6e 20 27 2f 5e 41 43 4c 4f 43 41 4c 5f 41 4d  -n '/^ACLOCAL_AM
6f20: 46 4c 41 47 53 5b 5b 3a 73 70 61 63 65 3a 5d 5d  FLAGS[[:space:]]
6f30: 2a 3d 2f 73 3a 5b 5e 3d 5d 2a 3d 3a 3a 70 27 20  *=/s:[^=]*=::p' 
6f40: 24 7b 61 6d 66 6c 61 67 73 5f 66 69 6c 65 7d 29  ${amflags_file})
6f50: 3b 0a 20 20 20 20 20 20 20 20 65 76 61 6c 20 61  ;.        eval a
6f60: 63 6c 6f 63 61 6c 5f 6f 70 74 73 3d 5c 22 24 7b  clocal_opts=\"${
6f70: 61 63 6c 6f 63 61 6c 5f 6f 70 74 73 7d 5c 22 3b  aclocal_opts}\";
6f80: 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a  .        break;.
6f90: 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 69 66      done;.    if
6fa0: 20 5b 5b 20 2d 6e 20 24 7b 41 54 5f 4d 34 44 49   [[ -n ${AT_M4DI
6fb0: 52 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  R} ]]; then.    
6fc0: 20 20 20 20 66 6f 72 20 78 20 69 6e 20 24 7b 41      for x in ${A
6fd0: 54 5f 4d 34 44 49 52 7d 3b 0a 20 20 20 20 20 20  T_M4DIR};.      
6fe0: 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20    do.           
6ff0: 20 63 61 73 65 20 22 24 7b 78 7d 22 20 69 6e 20   case "${x}" in 
7000: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
7010: 20 22 2d 49 22 29 0a 0a 20 20 20 20 20 20 20 20   "-I")..        
7020: 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20          ;;.     
7030: 20 20 20 20 20 20 20 20 20 20 20 2a 29 0a 20 20             *).  
7040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7050: 20 20 5b 5b 20 21 20 2d 64 20 24 7b 78 7d 20 5d    [[ ! -d ${x} ]
7060: 5d 20 26 26 20 65 77 61 72 6e 20 22 65 61 63 6c  ] && ewarn "eacl
7070: 6f 63 61 6c 3a 20 27 24 7b 78 7d 27 20 64 6f 65  ocal: '${x}' doe
7080: 73 20 6e 6f 74 20 65 78 69 73 74 22 3b 0a 20 20  s not exist";.  
7090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
70a0: 20 20 61 63 6c 6f 63 61 6c 5f 6f 70 74 73 3d 22    aclocal_opts="
70b0: 24 7b 61 63 6c 6f 63 61 6c 5f 6f 70 74 73 7d 20  ${aclocal_opts} 
70c0: 2d 49 20 24 7b 78 7d 22 0a 20 20 20 20 20 20 20  -I ${x}".       
70d0: 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
70e0: 20 20 20 20 20 20 20 20 65 73 61 63 3b 0a 20 20          esac;.  
70f0: 20 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20        done;.    
7100: 66 69 3b 0a 20 20 20 20 5b 5b 20 21 20 2d 66 20  fi;.    [[ ! -f 
7110: 61 63 6c 6f 63 61 6c 2e 6d 34 20 7c 7c 20 2d 6e  aclocal.m4 || -n
7120: 20 24 28 67 72 65 70 20 2d 65 20 27 67 65 6e 65   $(grep -e 'gene
7130: 72 61 74 65 64 2e 2a 62 79 20 61 63 6c 6f 63 61  rated.*by acloca
7140: 6c 27 20 61 63 6c 6f 63 61 6c 2e 6d 34 29 20 5d  l' aclocal.m4) ]
7150: 5d 20 26 26 20 61 75 74 6f 74 6f 6f 6c 73 5f 72  ] && autotools_r
7160: 75 6e 5f 74 6f 6f 6c 20 61 63 6c 6f 63 61 6c 20  un_tool aclocal 
7170: 22 24 40 22 20 24 7b 61 63 6c 6f 63 61 6c 5f 6f  "$@" ${aclocal_o
7180: 70 74 73 7d 0a 7d 0a 65 61 75 74 6f 63 6f 6e 66  pts}.}.eautoconf
7190: 20 28 29 20 0a 7b 20 0a 20 20 20 20 69 66 20 5b   () .{ .    if [
71a0: 5b 20 21 20 2d 66 20 63 6f 6e 66 69 67 75 72 65  [ ! -f configure
71b0: 2e 61 63 20 26 26 20 21 20 2d 66 20 63 6f 6e 66  .ac && ! -f conf
71c0: 69 67 75 72 65 2e 69 6e 20 5d 5d 3b 20 74 68 65  igure.in ]]; the
71d0: 6e 0a 20 20 20 20 20 20 20 20 65 63 68 6f 3b 0a  n.        echo;.
71e0: 20 20 20 20 20 20 20 20 65 65 72 72 6f 72 20 22          eerror "
71f0: 4e 6f 20 63 6f 6e 66 69 67 75 72 65 2e 7b 61 63  No configure.{ac
7200: 2c 69 6e 7d 20 70 72 65 73 65 6e 74 20 69 6e 20  ,in} present in 
7210: 27 24 28 70 77 64 20 7c 20 73 65 64 20 2d 65 20  '$(pwd | sed -e 
7220: 27 73 3a 2e 2a 2f 3a 3a 27 29 27 21 22 3b 0a 20  's:.*/::')'!";. 
7230: 20 20 20 20 20 20 20 65 63 68 6f 3b 0a 20 20 20         echo;.   
7240: 20 20 20 20 20 64 69 65 20 22 4e 6f 20 63 6f 6e       die "No con
7250: 66 69 67 75 72 65 2e 7b 61 63 2c 69 6e 7d 20 70  figure.{ac,in} p
7260: 72 65 73 65 6e 74 21 22 3b 0a 20 20 20 20 66 69  resent!";.    fi
7270: 3b 0a 20 20 20 20 61 75 74 6f 74 6f 6f 6c 73 5f  ;.    autotools_
7280: 72 75 6e 5f 74 6f 6f 6c 20 61 75 74 6f 63 6f 6e  run_tool autocon
7290: 66 20 22 24 40 22 0a 7d 0a 65 61 75 74 6f 68 65  f "$@".}.eautohe
72a0: 61 64 65 72 20 28 29 20 0a 7b 20 0a 20 20 20 20  ader () .{ .    
72b0: 5b 5b 20 2d 6e 20 24 28 61 75 74 6f 74 6f 6f 6c  [[ -n $(autotool
72c0: 73 5f 63 68 65 63 6b 5f 6d 61 63 72 6f 20 22 41  s_check_macro "A
72d0: 43 5f 43 4f 4e 46 49 47 5f 48 45 41 44 45 52 53  C_CONFIG_HEADERS
72e0: 22 29 20 5d 5d 20 7c 7c 20 72 65 74 75 72 6e 20  ") ]] || return 
72f0: 30 3b 0a 20 20 20 20 4e 4f 5f 46 41 49 4c 3d 31  0;.    NO_FAIL=1
7300: 20 61 75 74 6f 74 6f 6f 6c 73 5f 72 75 6e 5f 74   autotools_run_t
7310: 6f 6f 6c 20 61 75 74 6f 68 65 61 64 65 72 20 22  ool autoheader "
7320: 24 40 22 0a 7d 0a 65 61 75 74 6f 6d 61 6b 65 20  $@".}.eautomake 
7330: 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c  () .{ .    local
7340: 20 65 78 74 72 61 5f 6f 70 74 73 3b 0a 20 20 20   extra_opts;.   
7350: 20 6c 6f 63 61 6c 20 6d 61 6b 65 66 69 6c 65 5f   local makefile_
7360: 6e 61 6d 65 3b 0a 20 20 20 20 69 66 20 5b 5b 20  name;.    if [[ 
7370: 2d 66 20 47 4e 55 6d 61 6b 65 66 69 6c 65 2e 61  -f GNUmakefile.a
7380: 6d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  m ]]; then.     
7390: 20 20 20 6d 61 6b 65 66 69 6c 65 5f 6e 61 6d 65     makefile_name
73a0: 3d 22 47 4e 55 6d 61 6b 65 66 69 6c 65 22 3b 0a  ="GNUmakefile";.
73b0: 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20      else.       
73c0: 20 69 66 20 5b 5b 20 2d 66 20 4d 61 6b 65 66 69   if [[ -f Makefi
73d0: 6c 65 2e 61 6d 20 5d 5d 3b 20 74 68 65 6e 0a 20  le.am ]]; then. 
73e0: 20 20 20 20 20 20 20 20 20 20 20 6d 61 6b 65 66             makef
73f0: 69 6c 65 5f 6e 61 6d 65 3d 22 4d 61 6b 65 66 69  ile_name="Makefi
7400: 6c 65 22 3b 0a 20 20 20 20 20 20 20 20 65 6c 73  le";.        els
7410: 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65  e.            re
7420: 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20  turn 0;.        
7430: 66 69 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20  fi;.    fi;.    
7440: 69 66 20 5b 5b 20 2d 7a 20 24 7b 46 52 4f 4d 5f  if [[ -z ${FROM_
7450: 45 41 55 54 4f 52 45 43 4f 4e 46 7d 20 26 26 20  EAUTORECONF} && 
7460: 2d 66 20 24 7b 6d 61 6b 65 66 69 6c 65 5f 6e 61  -f ${makefile_na
7470: 6d 65 7d 2e 69 6e 20 5d 5d 3b 20 74 68 65 6e 0a  me}.in ]]; then.
7480: 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 75 73          local us
7490: 65 64 5f 61 75 74 6f 6d 61 6b 65 3b 0a 20 20 20  ed_automake;.   
74a0: 20 20 20 20 20 6c 6f 63 61 6c 20 69 6e 73 74 61       local insta
74b0: 6c 6c 65 64 5f 61 75 74 6f 6d 61 6b 65 3b 0a 20  lled_automake;. 
74c0: 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64         installed
74d0: 5f 61 75 74 6f 6d 61 6b 65 3d 24 28 61 75 74 6f  _automake=$(auto
74e0: 6d 61 6b 65 20 2d 2d 76 65 72 73 69 6f 6e 20 7c  make --version |
74f0: 20 68 65 61 64 20 2d 6e 20 31 20 7c 20 09 09 09   head -n 1 | ...
7500: 73 65 64 20 2d 65 20 27 73 3a 2e 2a 28 47 4e 55  sed -e 's:.*(GNU
7510: 20 61 75 74 6f 6d 61 6b 65 29 20 3a 3a 27 29 3b   automake) ::');
7520: 0a 20 20 20 20 20 20 20 20 75 73 65 64 5f 61 75  .        used_au
7530: 74 6f 6d 61 6b 65 3d 24 28 68 65 61 64 20 2d 6e  tomake=$(head -n
7540: 20 31 20 3c 20 24 7b 6d 61 6b 65 66 69 6c 65 5f   1 < ${makefile_
7550: 6e 61 6d 65 7d 2e 69 6e 20 7c 20 09 09 09 73 65  name}.in | ...se
7560: 64 20 2d 65 20 27 73 3a 2e 2a 62 79 20 61 75 74  d -e 's:.*by aut
7570: 6f 6d 61 6b 65 20 5c 28 2e 2a 5c 29 20 66 72 6f  omake \(.*\) fro
7580: 6d 20 2e 2a 3a 5c 31 3a 27 29 3b 0a 20 20 20 20  m .*:\1:');.    
7590: 20 20 20 20 69 66 20 5b 5b 20 24 7b 69 6e 73 74      if [[ ${inst
75a0: 61 6c 6c 65 64 5f 61 75 74 6f 6d 61 6b 65 7d 20  alled_automake} 
75b0: 21 3d 20 24 7b 75 73 65 64 5f 61 75 74 6f 6d 61  != ${used_automa
75c0: 6b 65 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  ke} ]]; then.   
75d0: 20 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22           einfo "
75e0: 41 75 74 6f 6d 61 6b 65 20 75 73 65 64 20 66 6f  Automake used fo
75f0: 72 20 74 68 65 20 70 61 63 6b 61 67 65 20 28 24  r the package ($
7600: 7b 75 73 65 64 5f 61 75 74 6f 6d 61 6b 65 7d 29  {used_automake})
7610: 20 64 69 66 66 65 72 73 20 66 72 6f 6d 22 3b 0a   differs from";.
7620: 20 20 20 20 20 20 20 20 20 20 20 20 65 69 6e 66              einf
7630: 6f 20 22 74 68 65 20 69 6e 73 74 61 6c 6c 65 64  o "the installed
7640: 20 76 65 72 73 69 6f 6e 20 28 24 7b 69 6e 73 74   version (${inst
7650: 61 6c 6c 65 64 5f 61 75 74 6f 6d 61 6b 65 7d 29  alled_automake})
7660: 2e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  .";.            
7670: 65 61 75 74 6f 72 65 63 6f 6e 66 3b 0a 20 20 20  eautoreconf;.   
7680: 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20           return 
7690: 30 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20  0;.        fi;. 
76a0: 20 20 20 66 69 3b 0a 20 20 20 20 5b 5b 20 2d 66     fi;.    [[ -f
76b0: 20 49 4e 53 54 41 4c 4c 20 26 26 20 2d 66 20 41   INSTALL && -f A
76c0: 55 54 48 4f 52 53 20 26 26 20 2d 66 20 43 68 61  UTHORS && -f Cha
76d0: 6e 67 65 4c 6f 67 20 26 26 20 2d 66 20 4e 45 57  ngeLog && -f NEW
76e0: 53 20 5d 5d 20 7c 7c 20 65 78 74 72 61 5f 6f 70  S ]] || extra_op
76f0: 74 73 3d 22 24 7b 65 78 74 72 61 5f 6f 70 74 73  ts="${extra_opts
7700: 7d 20 2d 2d 66 6f 72 65 69 67 6e 22 3b 0a 20 20  } --foreign";.  
7710: 20 20 61 75 74 6f 74 6f 6f 6c 73 5f 72 75 6e 5f    autotools_run_
7720: 74 6f 6f 6c 20 61 75 74 6f 6d 61 6b 65 20 2d 2d  tool automake --
7730: 61 64 64 2d 6d 69 73 73 69 6e 67 20 2d 2d 63 6f  add-missing --co
7740: 70 79 20 24 7b 65 78 74 72 61 5f 6f 70 74 73 7d  py ${extra_opts}
7750: 20 22 24 40 22 0a 7d 0a 65 61 75 74 6f 72 65 63   "$@".}.eautorec
7760: 6f 6e 66 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c  onf () .{ .    l
7770: 6f 63 61 6c 20 70 77 64 3d 24 28 70 77 64 29 20  ocal pwd=$(pwd) 
7780: 78 20 61 75 78 64 69 72 20 67 3d 3b 0a 20 20 20  x auxdir g=;.   
7790: 20 69 66 20 5b 5b 20 2d 7a 20 24 7b 41 54 5f 4e   if [[ -z ${AT_N
77a0: 4f 5f 52 45 43 55 52 53 49 56 45 7d 20 5d 5d 3b  O_RECURSIVE} ]];
77b0: 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 66 6f   then.        fo
77c0: 72 20 78 20 69 6e 20 24 28 61 75 74 6f 74 6f 6f  r x in $(autotoo
77d0: 6c 73 5f 67 65 74 5f 73 75 62 64 69 72 73 29 3b  ls_get_subdirs);
77e0: 0a 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20  .        do.    
77f0: 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 2d 64          if [[ -d
7800: 20 24 7b 78 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20   ${x} ]]; then. 
7810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63                 c
7820: 64 20 22 24 7b 78 7d 22 3b 0a 20 20 20 20 20 20  d "${x}";.      
7830: 20 20 20 20 20 20 20 20 20 20 41 54 5f 4e 4f 45            AT_NOE
7840: 4c 49 42 54 4f 4f 4c 49 5a 45 3d 22 79 65 73 22  LIBTOOLIZE="yes"
7850: 20 65 61 75 74 6f 72 65 63 6f 6e 66 3b 0a 20 20   eautoreconf;.  
7860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 64                cd
7870: 20 22 24 7b 70 77 64 7d 22 3b 0a 20 20 20 20 20   "${pwd}";.     
7880: 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20         fi;.     
7890: 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 66 69 3b     done;.    fi;
78a0: 0a 20 20 20 20 61 75 78 64 69 72 3d 24 28 61 75  .    auxdir=$(au
78b0: 74 6f 74 6f 6f 6c 73 5f 67 65 74 5f 61 75 78 64  totools_get_auxd
78c0: 69 72 29 3b 0a 20 20 20 20 65 69 6e 66 6f 20 22  ir);.    einfo "
78d0: 52 75 6e 6e 69 6e 67 20 65 61 75 74 6f 72 65 63  Running eautorec
78e0: 6f 6e 66 20 69 6e 20 27 24 28 70 77 64 29 27 20  onf in '$(pwd)' 
78f0: 2e 2e 2e 22 3b 0a 20 20 20 20 5b 5b 20 2d 6e 20  ...";.    [[ -n 
7900: 24 7b 61 75 78 64 69 72 7d 20 5d 5d 20 26 26 20  ${auxdir} ]] && 
7910: 6d 6b 64 69 72 20 2d 70 20 24 7b 61 75 78 64 69  mkdir -p ${auxdi
7920: 72 7d 3b 0a 20 20 20 20 65 61 63 6c 6f 63 61 6c  r};.    eaclocal
7930: 3b 0a 20 20 20 20 5b 5b 20 24 7b 43 48 4f 53 54  ;.    [[ ${CHOST
7940: 7d 20 3d 3d 20 2a 2d 64 61 72 77 69 6e 2a 20 5d  } == *-darwin* ]
7950: 5d 20 26 26 20 67 3d 67 3b 0a 20 20 20 20 69 66  ] && g=g;.    if
7960: 20 24 7b 4c 49 42 54 4f 4f 4c 49 5a 45 3a 2d 24   ${LIBTOOLIZE:-$
7970: 7b 67 7d 6c 69 62 74 6f 6f 6c 69 7a 65 7d 20 2d  {g}libtoolize} -
7980: 6e 20 2d 2d 69 6e 73 74 61 6c 6c 20 3e 26 2f 64  n --install >&/d
7990: 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 20 20  ev/null; then.  
79a0: 20 20 20 20 20 20 5f 65 6c 69 62 74 6f 6f 6c 69        _elibtooli
79b0: 7a 65 20 2d 2d 63 6f 70 79 20 2d 2d 66 6f 72 63  ze --copy --forc
79c0: 65 20 2d 2d 69 6e 73 74 61 6c 6c 3b 0a 20 20 20  e --install;.   
79d0: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 5f 65   else.        _e
79e0: 6c 69 62 74 6f 6f 6c 69 7a 65 20 2d 2d 63 6f 70  libtoolize --cop
79f0: 79 20 2d 2d 66 6f 72 63 65 3b 0a 20 20 20 20 66  y --force;.    f
7a00: 69 3b 0a 20 20 20 20 65 61 75 74 6f 63 6f 6e 66  i;.    eautoconf
7a10: 3b 0a 20 20 20 20 65 61 75 74 6f 68 65 61 64 65  ;.    eautoheade
7a20: 72 3b 0a 20 20 20 20 46 52 4f 4d 5f 45 41 55 54  r;.    FROM_EAUT
7a30: 4f 52 45 43 4f 4e 46 3d 22 79 65 73 22 20 65 61  ORECONF="yes" ea
7a40: 75 74 6f 6d 61 6b 65 20 24 7b 41 4d 5f 4f 50 54  utomake ${AM_OPT
7a50: 53 7d 3b 0a 20 20 20 20 5b 5b 20 24 7b 41 54 5f  S};.    [[ ${AT_
7a60: 4e 4f 45 4c 49 42 54 4f 4f 4c 49 5a 45 7d 20 3d  NOELIBTOOLIZE} =
7a70: 3d 20 22 79 65 73 22 20 5d 5d 20 26 26 20 72 65  = "yes" ]] && re
7a80: 74 75 72 6e 20 30 3b 0a 20 20 20 20 53 3d 24 7b  turn 0;.    S=${
7a90: 70 77 64 7d 20 65 6c 69 62 74 6f 6f 6c 69 7a 65  pwd} elibtoolize
7aa0: 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 0a 7d  ;.    return 0.}
7ab0: 0a 65 62 65 65 70 20 28 29 20 0a 7b 20 0a 20 20  .ebeep () .{ .  
7ac0: 20 20 6c 6f 63 61 6c 20 6e 3b 0a 20 20 20 20 69    local n;.    i
7ad0: 66 20 5b 5b 20 2d 7a 20 24 7b 45 42 45 45 50 5f  f [[ -z ${EBEEP_
7ae0: 49 47 4e 4f 52 45 7d 20 5d 5d 3b 20 74 68 65 6e  IGNORE} ]]; then
7af0: 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 28 6e  .        for ((n
7b00: 3d 31 20 3b 20 6e 20 3c 3d 20 24 7b 31 3a 2d 35  =1 ; n <= ${1:-5
7b10: 7d 20 3b 20 6e 2b 2b 29 29 0a 20 20 20 20 20 20  } ; n++)).      
7b20: 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20    do.           
7b30: 20 65 63 68 6f 20 2d 6e 65 20 22 5c 61 22 3b 0a   echo -ne "\a";.
7b40: 20 20 20 20 20 20 20 20 20 20 20 20 73 6c 65 65              slee
7b50: 70 20 30 2e 31 20 3e 26 2f 64 65 76 2f 6e 75 6c  p 0.1 >&/dev/nul
7b60: 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73  l;.            s
7b70: 6c 65 65 70 20 30 2c 31 20 3e 26 2f 64 65 76 2f  leep 0,1 >&/dev/
7b80: 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20  null;.          
7b90: 20 20 65 63 68 6f 20 2d 6e 65 20 22 5c 61 22 3b    echo -ne "\a";
7ba0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 6c 65  .            sle
7bb0: 65 70 20 31 3b 0a 20 20 20 20 20 20 20 20 64 6f  ep 1;.        do
7bc0: 6e 65 3b 0a 20 20 20 20 66 69 0a 7d 0a 65 63 76  ne;.    fi.}.ecv
7bd0: 73 5f 63 6c 65 61 6e 20 28 29 20 0a 7b 20 0a 20  s_clean () .{ . 
7be0: 20 20 20 5b 5b 20 2d 7a 20 24 2a 20 5d 5d 20 26     [[ -z $* ]] &
7bf0: 26 20 73 65 74 20 2d 2d 20 2e 3b 0a 20 20 20 20  & set -- .;.    
7c00: 66 69 6e 64 20 22 24 40 22 20 2d 74 79 70 65 20  find "$@" -type 
7c10: 64 20 2d 6e 61 6d 65 20 27 43 56 53 27 20 2d 70  d -name 'CVS' -p
7c20: 72 75 6e 65 20 2d 70 72 69 6e 74 30 20 7c 20 78  rune -print0 | x
7c30: 61 72 67 73 20 2d 30 20 72 6d 20 2d 72 66 3b 0a  args -0 rm -rf;.
7c40: 20 20 20 20 66 69 6e 64 20 22 24 40 22 20 2d 74      find "$@" -t
7c50: 79 70 65 20 66 20 2d 6e 61 6d 65 20 27 2e 63 76  ype f -name '.cv
7c60: 73 2a 27 20 2d 70 72 69 6e 74 30 20 7c 20 78 61  s*' -print0 | xa
7c70: 72 67 73 20 2d 30 20 72 6d 20 2d 72 66 0a 7d 0a  rgs -0 rm -rf.}.
7c80: 65 64 6f 73 32 75 6e 69 78 20 28 29 20 0a 7b 20  edos2unix () .{ 
7c90: 0a 20 20 20 20 65 63 68 6f 20 22 24 40 22 20 7c  .    echo "$@" |
7ca0: 20 78 61 72 67 73 20 73 65 64 20 2d 69 20 27 73   xargs sed -i 's
7cb0: 2f 5c 72 24 2f 2f 27 0a 7d 0a 65 67 65 74 65 6e  /\r$//'.}.egeten
7cc0: 74 20 28 29 20 0a 7b 20 0a 20 20 20 20 63 61 73  t () .{ .    cas
7cd0: 65 20 24 7b 43 48 4f 53 54 7d 20 69 6e 20 0a 20  e ${CHOST} in . 
7ce0: 20 20 20 20 20 20 20 2a 2d 64 61 72 77 69 6e 39         *-darwin9
7cf0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f  ).            lo
7d00: 63 61 6c 20 6d 79 74 79 70 65 3d 24 31 3b 0a 20  cal mytype=$1;. 
7d10: 20 20 20 20 20 20 20 20 20 20 20 5b 5b 20 22 70             [[ "p
7d20: 61 73 73 77 64 22 20 3d 3d 20 24 6d 79 74 79 70  asswd" == $mytyp
7d30: 65 20 5d 5d 20 26 26 20 6d 79 74 79 70 65 3d 22  e ]] && mytype="
7d40: 55 73 65 72 73 22 3b 0a 20 20 20 20 20 20 20 20  Users";.        
7d50: 20 20 20 20 5b 5b 20 22 67 72 6f 75 70 22 20 3d      [[ "group" =
7d60: 3d 20 24 6d 79 74 79 70 65 20 5d 5d 20 26 26 20  = $mytype ]] && 
7d70: 6d 79 74 79 70 65 3d 22 47 72 6f 75 70 73 22 3b  mytype="Groups";
7d80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73  .            cas
7d90: 65 20 22 24 32 22 20 69 6e 20 0a 20 20 20 20 20  e "$2" in .     
7da0: 20 20 20 20 20 20 20 20 20 20 20 2a 5b 21 30 2d             *[!0-
7db0: 39 5d 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20  9]*).           
7dc0: 20 20 20 20 20 20 20 20 20 64 73 63 6c 20 2e 20           dscl . 
7dd0: 2d 72 65 61 64 20 2f 24 6d 79 74 79 70 65 2f 24  -read /$mytype/$
7de0: 32 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c  2 2> /dev/null |
7df0: 20 67 72 65 70 20 52 65 63 6f 72 64 4e 61 6d 65   grep RecordName
7e00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
7e10: 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
7e20: 20 20 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20      *).         
7e30: 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c             local
7e40: 20 6d 79 6b 65 79 3d 22 55 6e 69 71 75 65 49 44   mykey="UniqueID
7e50: 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ";.             
7e60: 20 20 20 20 20 20 20 5b 5b 20 24 6d 79 74 79 70         [[ $mytyp
7e70: 65 20 3d 3d 20 22 47 72 6f 75 70 73 22 20 5d 5d  e == "Groups" ]]
7e80: 20 26 26 20 6d 79 6b 65 79 3d 22 50 72 69 6d 61   && mykey="Prima
7e90: 72 79 47 72 6f 75 70 49 44 22 3b 0a 20 20 20 20  ryGroupID";.    
7ea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7eb0: 64 73 63 6c 20 2e 20 2d 73 65 61 72 63 68 20 2f  dscl . -search /
7ec0: 24 6d 79 74 79 70 65 20 24 6d 79 6b 65 79 20 24  $mytype $mykey $
7ed0: 32 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 20  2 2> /dev/null. 
7ee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b                 ;
7ef0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 73  ;.            es
7f00: 61 63 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20  ac.        ;;.  
7f10: 20 20 20 20 20 20 2a 2d 64 61 72 77 69 6e 2a 29        *-darwin*)
7f20: 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73  .            cas
7f30: 65 20 22 24 32 22 20 69 6e 20 0a 20 20 20 20 20  e "$2" in .     
7f40: 20 20 20 20 20 20 20 20 20 20 20 2a 5b 21 30 2d             *[!0-
7f50: 39 5d 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20  9]*).           
7f60: 20 20 20 20 20 20 20 20 20 6e 69 64 75 6d 70 20           nidump 
7f70: 24 31 20 2e 20 7c 20 61 77 6b 20 2d 46 22 3a 22  $1 . | awk -F":"
7f80: 20 22 7b 20 69 66 20 28 5c 24 31 20 7e 20 2f 5e   "{ if (\$1 ~ /^
7f90: 24 32 24 2f 29 20 7b 70 72 69 6e 74 20 5c 24 30  $2$/) {print \$0
7fa0: 3b 65 78 69 74 3b 7d 20 7d 22 0a 20 20 20 20 20  ;exit;} }".     
7fb0: 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
7fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 29                *)
7fd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
7fe0: 20 20 20 20 20 6e 69 64 75 6d 70 20 24 31 20 2e       nidump $1 .
7ff0: 20 7c 20 61 77 6b 20 2d 46 22 3a 22 20 22 7b 20   | awk -F":" "{ 
8000: 69 66 20 28 5c 24 33 20 3d 3d 20 24 32 29 20 7b  if (\$3 == $2) {
8010: 70 72 69 6e 74 20 5c 24 30 3b 65 78 69 74 3b 7d  print \$0;exit;}
8020: 20 7d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20   }".            
8030: 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20      ;;.         
8040: 20 20 20 65 73 61 63 0a 20 20 20 20 20 20 20 20     esac.        
8050: 3b 3b 0a 20 20 20 20 20 20 20 20 2a 2d 66 72 65  ;;.        *-fre
8060: 65 62 73 64 2a 20 7c 20 2a 2d 64 72 61 67 6f 6e  ebsd* | *-dragon
8070: 66 6c 79 2a 29 0a 20 20 20 20 20 20 20 20 20 20  fly*).          
8080: 20 20 6c 6f 63 61 6c 20 6f 70 74 73 20 61 63 74    local opts act
8090: 69 6f 6e 3d 22 75 73 65 72 22 3b 0a 20 20 20 20  ion="user";.    
80a0: 20 20 20 20 20 20 20 20 5b 5b 20 24 31 20 3d 3d          [[ $1 ==
80b0: 20 22 70 61 73 73 77 64 22 20 5d 5d 20 7c 7c 20   "passwd" ]] || 
80c0: 61 63 74 69 6f 6e 3d 22 67 72 6f 75 70 22 3b 0a  action="group";.
80d0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b              if [
80e0: 5b 20 24 32 20 3d 3d 20 5b 5b 3a 64 69 67 69 74  [ $2 == [[:digit
80f0: 3a 5d 5d 2a 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  :]]* ]]; then.  
8100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5b                [[
8110: 20 24 7b 61 63 74 69 6f 6e 7d 20 3d 3d 20 22 75   ${action} == "u
8120: 73 65 72 22 20 5d 5d 20 26 26 20 6f 70 74 73 3d  ser" ]] && opts=
8130: 22 2d 75 22 20 7c 7c 20 6f 70 74 73 3d 22 2d 67  "-u" || opts="-g
8140: 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66  ";.            f
8150: 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70  i;.            p
8160: 77 20 73 68 6f 77 20 24 7b 61 63 74 69 6f 6e 7d  w show ${action}
8170: 20 24 7b 6f 70 74 73 7d 20 22 24 32 22 20 2d 71   ${opts} "$2" -q
8180: 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  .        ;;.    
8190: 20 20 20 20 2a 2d 6e 65 74 62 73 64 2a 20 7c 20      *-netbsd* | 
81a0: 2a 2d 6f 70 65 6e 62 73 64 2a 29 0a 20 20 20 20  *-openbsd*).    
81b0: 20 20 20 20 20 20 20 20 67 72 65 70 20 22 24 32          grep "$2
81c0: 3a 5c 2a 3a 22 20 2f 65 74 63 2f 24 31 0a 20 20  :\*:" /etc/$1.  
81d0: 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
81e0: 20 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20   *).            
81f0: 74 79 70 65 20 2d 70 20 6e 73 63 64 20 3e 26 2f  type -p nscd >&/
8200: 64 65 76 2f 6e 75 6c 6c 20 26 26 20 6e 73 63 64  dev/null && nscd
8210: 20 2d 69 20 22 24 31 22 3b 0a 20 20 20 20 20 20   -i "$1";.      
8220: 20 20 20 20 20 20 67 65 74 65 6e 74 20 22 24 31        getent "$1
8230: 22 20 22 24 32 22 0a 20 20 20 20 20 20 20 20 3b  " "$2".        ;
8240: 3b 0a 20 20 20 20 65 73 61 63 0a 7d 0a 65 67 65  ;.    esac.}.ege
8250: 74 68 6f 6d 65 20 28 29 20 0a 7b 20 0a 20 20 20  thome () .{ .   
8260: 20 65 6e 74 3d 24 28 65 67 65 74 65 6e 74 20 70   ent=$(egetent p
8270: 61 73 73 77 64 20 24 31 29 3b 0a 20 20 20 20 63  asswd $1);.    c
8280: 61 73 65 20 24 7b 43 48 4f 53 54 7d 20 69 6e 20  ase ${CHOST} in 
8290: 0a 20 20 20 20 20 20 20 20 2a 2d 64 61 72 77 69  .        *-darwi
82a0: 6e 2a 20 7c 20 2a 2d 66 72 65 65 62 73 64 2a 20  n* | *-freebsd* 
82b0: 7c 20 2a 2d 64 72 61 67 6f 6e 66 6c 79 2a 29 0a  | *-dragonfly*).
82c0: 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f              echo
82d0: 20 24 7b 65 6e 74 7d 20 7c 20 63 75 74 20 2d 64   ${ent} | cut -d
82e0: 3a 20 2d 66 39 0a 20 20 20 20 20 20 20 20 3b 3b  : -f9.        ;;
82f0: 0a 20 20 20 20 20 20 20 20 2a 29 0a 20 20 20 20  .        *).    
8300: 20 20 20 20 20 20 20 20 65 63 68 6f 20 24 7b 65          echo ${e
8310: 6e 74 7d 20 7c 20 63 75 74 20 2d 64 3a 20 2d 66  nt} | cut -d: -f
8320: 36 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20  6.        ;;.   
8330: 20 65 73 61 63 0a 7d 0a 65 67 65 74 73 68 65 6c   esac.}.egetshel
8340: 6c 20 28 29 20 0a 7b 20 0a 20 20 20 20 65 6e 74  l () .{ .    ent
8350: 3d 24 28 65 67 65 74 65 6e 74 20 70 61 73 73 77  =$(egetent passw
8360: 64 20 22 24 31 22 29 3b 0a 20 20 20 20 63 61 73  d "$1");.    cas
8370: 65 20 24 7b 43 48 4f 53 54 7d 20 69 6e 20 0a 20  e ${CHOST} in . 
8380: 20 20 20 20 20 20 20 2a 2d 64 61 72 77 69 6e 2a         *-darwin*
8390: 20 7c 20 2a 2d 66 72 65 65 62 73 64 2a 20 7c 20   | *-freebsd* | 
83a0: 2a 2d 64 72 61 67 6f 6e 66 6c 79 2a 29 0a 20 20  *-dragonfly*).  
83b0: 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 24            echo $
83c0: 7b 65 6e 74 7d 20 7c 20 63 75 74 20 2d 64 3a 20  {ent} | cut -d: 
83d0: 2d 66 31 30 0a 20 20 20 20 20 20 20 20 3b 3b 0a  -f10.        ;;.
83e0: 20 20 20 20 20 20 20 20 2a 29 0a 20 20 20 20 20          *).     
83f0: 20 20 20 20 20 20 20 65 63 68 6f 20 24 7b 65 6e         echo ${en
8400: 74 7d 20 63 75 74 20 2d 64 3a 20 2d 66 37 0a 20  t} cut -d: -f7. 
8410: 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73         ;;.    es
8420: 61 63 0a 7d 0a 65 6c 69 62 74 6f 6f 6c 69 7a 65  ac.}.elibtoolize
8430: 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61   () .{ .    loca
8440: 6c 20 78 3d 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  l x=;.    local 
8450: 79 3d 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 64 6f  y=;.    local do
8460: 5f 70 6f 72 74 61 67 65 3d 22 6e 6f 22 3b 0a 20  _portage="no";. 
8470: 20 20 20 6c 6f 63 61 6c 20 64 6f 5f 72 65 76 65     local do_reve
8480: 72 73 65 64 65 70 73 3d 22 6e 6f 22 3b 0a 20 20  rsedeps="no";.  
8490: 20 20 6c 6f 63 61 6c 20 64 6f 5f 6f 6e 6c 79 5f    local do_only_
84a0: 70 61 74 63 68 65 73 3d 22 6e 6f 22 3b 0a 20 20  patches="no";.  
84b0: 20 20 6c 6f 63 61 6c 20 64 6f 5f 75 63 6c 69 62    local do_uclib
84c0: 63 3d 22 79 65 73 22 3b 0a 20 20 20 20 6c 6f 63  c="yes";.    loc
84d0: 61 6c 20 64 65 70 74 6f 72 65 6d 6f 76 65 3d 3b  al deptoremove=;
84e0: 0a 20 20 20 20 6c 6f 63 61 6c 20 6d 79 5f 64 69  .    local my_di
84f0: 72 6c 69 73 74 3d 3b 0a 20 20 20 20 6c 6f 63 61  rlist=;.    loca
8500: 6c 20 65 6c 74 5f 70 61 74 63 68 65 73 3d 22 69  l elt_patches="i
8510: 6e 73 74 61 6c 6c 2d 73 68 20 6c 74 6d 61 69 6e  nstall-sh ltmain
8520: 20 70 6f 72 74 61 67 65 20 72 65 6c 69 6e 6b 20   portage relink 
8530: 6d 61 78 5f 63 6d 64 5f 6c 65 6e 20 73 65 64 20  max_cmd_len sed 
8540: 74 65 73 74 20 74 6d 70 20 63 72 6f 73 73 20 61  test tmp cross a
8550: 73 2d 6e 65 65 64 65 64 22 3b 0a 20 20 20 20 6c  s-needed";.    l
8560: 6f 63 61 6c 20 73 74 61 72 74 5f 64 69 72 3d 24  ocal start_dir=$
8570: 7b 50 57 44 7d 3b 0a 20 20 20 20 6d 79 5f 64 69  {PWD};.    my_di
8580: 72 6c 69 73 74 3d 24 28 45 4c 54 5f 66 69 6e 64  rlist=$(ELT_find
8590: 5f 6c 74 6d 61 69 6e 5f 73 68 29 3b 0a 20 20 20  _ltmain_sh);.   
85a0: 20 66 6f 72 20 78 20 69 6e 20 22 24 40 22 3b 0a   for x in "$@";.
85b0: 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 63      do.        c
85c0: 61 73 65 20 22 24 7b 78 7d 22 20 69 6e 20 0a 20  ase "${x}" in . 
85d0: 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 70 6f             "--po
85e0: 72 74 61 67 65 22 29 0a 20 20 20 20 20 20 20 20  rtage").        
85f0: 20 20 20 20 20 20 20 20 64 6f 5f 70 6f 72 74 61          do_porta
8600: 67 65 3d 22 79 65 73 22 0a 20 20 20 20 20 20 20  ge="yes".       
8610: 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
8620: 20 20 20 20 22 2d 2d 72 65 76 65 72 73 65 2d 64      "--reverse-d
8630: 65 70 73 22 29 0a 20 20 20 20 20 20 20 20 20 20  eps").          
8640: 20 20 20 20 20 20 64 6f 5f 72 65 76 65 72 73 65        do_reverse
8650: 64 65 70 73 3d 22 79 65 73 22 3b 0a 20 20 20 20  deps="yes";.    
8660: 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 74 5f              elt_
8670: 70 61 74 63 68 65 73 3d 22 24 7b 65 6c 74 5f 70  patches="${elt_p
8680: 61 74 63 68 65 73 7d 20 66 69 78 2d 72 65 6c 69  atches} fix-reli
8690: 6e 6b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20  nk".            
86a0: 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22  ;;.            "
86b0: 2d 2d 70 61 74 63 68 2d 6f 6e 6c 79 22 29 0a 20  --patch-only"). 
86c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64                 d
86d0: 6f 5f 6f 6e 6c 79 5f 70 61 74 63 68 65 73 3d 22  o_only_patches="
86e0: 79 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20  yes".           
86f0: 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
8700: 22 5e 2d 2d 72 65 6d 6f 76 65 2d 69 6e 74 65 72  "^--remove-inter
8710: 6e 61 6c 2d 64 65 70 3d 22 2a 29 0a 20 20 20 20  nal-dep="*).    
8720: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 70 74              dept
8730: 6f 72 65 6d 6f 76 65 3d 24 28 65 63 68 6f 20 22  oremove=$(echo "
8740: 24 7b 78 7d 22 20 7c 20 73 65 64 20 2d 65 20 27  ${x}" | sed -e '
8750: 73 7c 2d 2d 72 65 6d 6f 76 65 2d 69 6e 74 65 72  s|--remove-inter
8760: 6e 61 6c 2d 64 65 70 3d 7c 7c 27 29 3b 0a 20 20  nal-dep=||');.  
8770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5b                [[
8780: 20 2d 6e 20 24 7b 64 65 70 74 6f 72 65 6d 6f 76   -n ${deptoremov
8790: 65 7d 20 5d 5d 20 26 26 20 65 6c 74 5f 70 61 74  e} ]] && elt_pat
87a0: 63 68 65 73 3d 22 24 7b 65 6c 74 5f 70 61 74 63  ches="${elt_patc
87b0: 68 65 73 7d 20 72 65 6d 2d 69 6e 74 2d 64 65 70  hes} rem-int-dep
87c0: 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b  ".            ;;
87d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d  .            "--
87e0: 73 68 61 6c 6c 6f 77 22 29 0a 20 20 20 20 20 20  shallow").      
87f0: 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20            if [[ 
8800: 2d 66 20 24 7b 53 7d 2f 6c 74 6d 61 69 6e 2e 73  -f ${S}/ltmain.s
8810: 68 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  h ]]; then.     
8820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d                 m
8830: 79 5f 64 69 72 6c 69 73 74 3d 24 7b 53 7d 3b 0a  y_dirlist=${S};.
8840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8850: 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20  else.           
8860: 20 20 20 20 20 20 20 20 20 6d 79 5f 64 69 72 6c           my_dirl
8870: 69 73 74 3d 3b 0a 20 20 20 20 20 20 20 20 20 20  ist=;.          
8880: 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20        fi.       
8890: 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
88a0: 20 20 20 20 22 2d 2d 6e 6f 2d 75 63 6c 69 62 63      "--no-uclibc
88b0: 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ").             
88c0: 20 20 20 64 6f 5f 75 63 6c 69 62 63 3d 22 6e 6f     do_uclibc="no
88d0: 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b  ".            ;;
88e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 29 0a  .            *).
88f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8900: 65 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20  eerror "Invalid 
8910: 65 6c 69 62 74 6f 6f 6c 69 7a 65 20 6f 70 74 69  elibtoolize opti
8920: 6f 6e 3a 20 24 7b 78 7d 22 3b 0a 20 20 20 20 20  on: ${x}";.     
8930: 20 20 20 20 20 20 20 20 20 20 20 64 69 65 20 22             die "
8940: 65 6c 69 62 74 6f 6f 6c 69 7a 65 20 63 61 6c 6c  elibtoolize call
8950: 65 64 20 77 69 74 68 20 24 7b 78 7d 20 3f 3f 22  ed with ${x} ??"
8960: 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a  .            ;;.
8970: 20 20 20 20 20 20 20 20 65 73 61 63 3b 0a 20 20          esac;.  
8980: 20 20 64 6f 6e 65 3b 0a 20 20 20 20 5b 5b 20 24    done;.    [[ $
8990: 7b 64 6f 5f 75 63 6c 69 62 63 7d 20 3d 3d 20 22  {do_uclibc} == "
89a0: 79 65 73 22 20 5d 5d 20 26 26 20 65 6c 74 5f 70  yes" ]] && elt_p
89b0: 61 74 63 68 65 73 3d 22 24 7b 65 6c 74 5f 70 61  atches="${elt_pa
89c0: 74 63 68 65 73 7d 20 75 63 6c 69 62 63 2d 63 6f  tches} uclibc-co
89d0: 6e 66 20 75 63 6c 69 62 63 2d 6c 74 63 6f 6e 66  nf uclibc-ltconf
89e0: 22 3b 0a 20 20 20 20 5b 5b 20 24 7b 43 48 4f 53  ";.    [[ ${CHOS
89f0: 54 7d 20 3d 3d 20 2a 22 2d 66 72 65 65 62 73 64  T} == *"-freebsd
8a00: 22 2a 20 5d 5d 20 26 26 20 65 6c 74 5f 70 61 74  "* ]] && elt_pat
8a10: 63 68 65 73 3d 22 24 7b 65 6c 74 5f 70 61 74 63  ches="${elt_patc
8a20: 68 65 73 7d 20 66 62 73 64 2d 63 6f 6e 66 20 66  hes} fbsd-conf f
8a30: 62 73 64 2d 6c 74 63 6f 6e 66 22 3b 0a 20 20 20  bsd-ltconf";.   
8a40: 20 5b 5b 20 24 7b 43 48 4f 53 54 7d 20 3d 3d 20   [[ ${CHOST} == 
8a50: 2a 22 2d 64 61 72 77 69 6e 22 2a 20 5d 5d 20 26  *"-darwin"* ]] &
8a60: 26 20 65 6c 74 5f 70 61 74 63 68 65 73 3d 22 24  & elt_patches="$
8a70: 7b 65 6c 74 5f 70 61 74 63 68 65 73 7d 20 64 61  {elt_patches} da
8a80: 72 77 69 6e 2d 6c 74 63 6f 6e 66 20 64 61 72 77  rwin-ltconf darw
8a90: 69 6e 2d 6c 74 6d 61 69 6e 22 3b 0a 20 20 20 20  in-ltmain";.    
8aa0: 66 6f 72 20 78 20 69 6e 20 24 7b 6d 79 5f 64 69  for x in ${my_di
8ab0: 72 6c 69 73 74 7d 3b 0a 20 20 20 20 64 6f 0a 20  rlist};.    do. 
8ac0: 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 74 6d 70         local tmp
8ad0: 3d 24 28 65 63 68 6f 20 22 24 7b 78 7d 22 20 7c  =$(echo "${x}" |
8ae0: 20 73 65 64 20 2d 65 20 22 73 7c 24 7b 57 4f 52   sed -e "s|${WOR
8af0: 4b 44 49 52 7d 7c 7c 22 29 3b 0a 20 20 20 20 20  KDIR}||");.     
8b00: 20 20 20 65 78 70 6f 72 74 20 45 4c 54 5f 41 50     export ELT_AP
8b10: 50 4c 49 45 44 5f 50 41 54 43 48 45 53 3d 3b 0a  PLIED_PATCHES=;.
8b20: 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20 45          export E
8b30: 4c 54 5f 4c 54 4d 41 49 4e 5f 53 48 3d 22 24 7b  LT_LTMAIN_SH="${
8b40: 78 7d 2f 6c 74 6d 61 69 6e 2e 73 68 22 3b 0a 20  x}/ltmain.sh";. 
8b50: 20 20 20 20 20 20 20 5b 5b 20 2d 66 20 24 7b 78         [[ -f ${x
8b60: 7d 2f 2e 65 6c 69 62 74 6f 6f 6c 69 7a 65 64 20  }/.elibtoolized 
8b70: 5d 5d 20 26 26 20 63 6f 6e 74 69 6e 75 65 3b 0a  ]] && continue;.
8b80: 20 20 20 20 20 20 20 20 63 64 20 24 7b 78 7d 3b          cd ${x};
8b90: 0a 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22  .        einfo "
8ba0: 52 75 6e 6e 69 6e 67 20 65 6c 69 62 74 6f 6f 6c  Running elibtool
8bb0: 69 7a 65 20 69 6e 3a 20 24 28 65 63 68 6f 20 22  ize in: $(echo "
8bc0: 2f 24 7b 74 6d 70 7d 22 20 7c 20 73 65 64 20 2d  /${tmp}" | sed -
8bd0: 65 20 27 73 7c 2f 2f 7c 2f 7c 67 3b 20 73 7c 5e  e 's|//|/|g; s|^
8be0: 2f 7c 7c 27 29 22 3b 0a 20 20 20 20 20 20 20 20  /||')";.        
8bf0: 66 6f 72 20 79 20 69 6e 20 24 7b 65 6c 74 5f 70  for y in ${elt_p
8c00: 61 74 63 68 65 73 7d 3b 0a 20 20 20 20 20 20 20  atches};.       
8c10: 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20   do.            
8c20: 6c 6f 63 61 6c 20 72 65 74 3d 30 3b 0a 20 20 20  local ret=0;.   
8c30: 20 20 20 20 20 20 20 20 20 63 61 73 65 20 22 24           case "$
8c40: 7b 79 7d 22 20 69 6e 20 0a 20 20 20 20 20 20 20  {y}" in .       
8c50: 20 20 20 20 20 20 20 20 20 22 70 6f 72 74 61 67           "portag
8c60: 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  e").            
8c70: 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 2d 7a          if [[ -z
8c80: 20 24 28 67 72 65 70 20 27 57 65 20 64 6f 20 6e   $(grep 'We do n
8c90: 6f 74 20 77 61 6e 74 20 70 6f 72 74 61 67 65 27  ot want portage'
8ca0: 20 22 24 7b 78 7d 2f 6c 74 6d 61 69 6e 2e 73 68   "${x}/ltmain.sh
8cb0: 22 29 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  ") ]]; then.    
8cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8cd0: 20 20 20 20 45 4c 54 5f 77 61 6c 6b 5f 70 61 74      ELT_walk_pat
8ce0: 63 68 65 73 20 22 24 7b 78 7d 2f 6c 74 6d 61 69  ches "${x}/ltmai
8cf0: 6e 2e 73 68 22 20 22 24 7b 79 7d 22 3b 0a 20 20  n.sh" "${y}";.  
8d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8d10: 20 20 20 20 20 20 72 65 74 3d 24 3f 3b 0a 20 20        ret=$?;.  
8d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8d30: 20 20 66 69 0a 20 20 20 20 20 20 20 20 20 20 20    fi.           
8d40: 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
8d50: 20 20 20 20 20 20 20 20 22 72 65 6d 2d 69 6e 74          "rem-int
8d60: 2d 64 65 70 22 29 0a 20 20 20 20 20 20 20 20 20  -dep").         
8d70: 20 20 20 20 20 20 20 20 20 20 20 45 4c 54 5f 77             ELT_w
8d80: 61 6c 6b 5f 70 61 74 63 68 65 73 20 22 24 7b 78  alk_patches "${x
8d90: 7d 2f 6c 74 6d 61 69 6e 2e 73 68 22 20 22 24 7b  }/ltmain.sh" "${
8da0: 79 7d 22 20 22 24 7b 64 65 70 74 6f 72 65 6d 6f  y}" "${deptoremo
8db0: 76 65 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20  ve}";.          
8dc0: 20 20 20 20 20 20 20 20 20 20 72 65 74 3d 24 3f            ret=$?
8dd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
8de0: 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
8df0: 20 20 20 20 22 66 69 78 2d 72 65 6c 69 6e 6b 22      "fix-relink"
8e00: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
8e10: 20 20 20 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24        if [[ -n $
8e20: 28 67 72 65 70 20 27 69 6e 73 74 5f 70 72 65 66  (grep 'inst_pref
8e30: 69 78 5f 64 69 72 27 20 22 24 7b 78 7d 2f 6c 74  ix_dir' "${x}/lt
8e40: 6d 61 69 6e 2e 73 68 22 29 20 5d 5d 3b 20 74 68  main.sh") ]]; th
8e50: 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  en.             
8e60: 20 20 20 20 20 20 20 20 20 20 20 45 4c 54 5f 77             ELT_w
8e70: 61 6c 6b 5f 70 61 74 63 68 65 73 20 22 24 7b 78  alk_patches "${x
8e80: 7d 2f 6c 74 6d 61 69 6e 2e 73 68 22 20 22 24 7b  }/ltmain.sh" "${
8e90: 79 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20  y}";.           
8ea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74               ret
8eb0: 3d 24 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20  =$?;.           
8ec0: 20 20 20 20 20 20 20 20 20 66 69 0a 20 20 20 20           fi.    
8ed0: 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
8ee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22                 "
8ef0: 6d 61 78 5f 63 6d 64 5f 6c 65 6e 22 29 0a 20 20  max_cmd_len").  
8f00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8f10: 20 20 69 66 20 5b 5b 20 2d 6e 20 24 28 67 72 65    if [[ -n $(gre
8f20: 70 20 27 6d 61 78 5f 63 6d 64 5f 6c 65 6e 27 20  p 'max_cmd_len' 
8f30: 22 24 7b 78 7d 2f 6c 74 6d 61 69 6e 2e 73 68 22  "${x}/ltmain.sh"
8f40: 29 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  ) ]]; then.     
8f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8f60: 20 20 20 45 4c 54 5f 77 61 6c 6b 5f 70 61 74 63     ELT_walk_patc
8f70: 68 65 73 20 22 24 7b 78 7d 2f 6c 74 6d 61 69 6e  hes "${x}/ltmain
8f80: 2e 73 68 22 20 22 24 7b 79 7d 22 3b 0a 20 20 20  .sh" "${y}";.   
8f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8fa0: 20 20 20 20 20 72 65 74 3d 24 3f 3b 0a 20 20 20       ret=$?;.   
8fb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8fc0: 20 66 69 0a 20 20 20 20 20 20 20 20 20 20 20 20   fi.            
8fd0: 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20      ;;.         
8fe0: 20 20 20 20 20 20 20 22 61 73 2d 6e 65 65 64 65         "as-neede
8ff0: 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  d").            
9000: 20 20 20 20 20 20 20 20 45 4c 54 5f 77 61 6c 6b          ELT_walk
9010: 5f 70 61 74 63 68 65 73 20 22 24 7b 78 7d 2f 6c  _patches "${x}/l
9020: 74 6d 61 69 6e 2e 73 68 22 20 22 24 7b 79 7d 22  tmain.sh" "${y}"
9030: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
9040: 20 20 20 20 20 20 72 65 74 3d 24 3f 0a 20 20 20        ret=$?.   
9050: 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a               ;;.
9060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9070: 22 75 63 6c 69 62 63 2d 63 6f 6e 66 22 29 0a 20  "uclibc-conf"). 
9080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9090: 20 20 20 69 66 20 5b 5b 20 2d 65 20 24 7b 78 7d     if [[ -e ${x}
90a0: 2f 63 6f 6e 66 69 67 75 72 65 20 26 26 20 2d 6e  /configure && -n
90b0: 20 24 28 67 72 65 70 20 27 54 72 61 6e 73 66 6f   $(grep 'Transfo
90c0: 72 6d 20 6c 69 6e 75 78 27 20 22 24 7b 78 7d 2f  rm linux' "${x}/
90d0: 63 6f 6e 66 69 67 75 72 65 22 29 20 5d 5d 3b 20  configure") ]]; 
90e0: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20  then.           
90f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4c 54               ELT
9100: 5f 77 61 6c 6b 5f 70 61 74 63 68 65 73 20 22 24  _walk_patches "$
9110: 7b 78 7d 2f 63 6f 6e 66 69 67 75 72 65 22 20 22  {x}/configure" "
9120: 24 7b 79 7d 22 3b 0a 20 20 20 20 20 20 20 20 20  ${y}";.         
9130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
9140: 65 74 3d 24 3f 3b 0a 20 20 20 20 20 20 20 20 20  et=$?;.         
9150: 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a             else.
9160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9170: 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 21 20          if [[ ! 
9180: 2d 65 20 24 7b 78 7d 2f 63 6f 6e 66 69 67 75 72  -e ${x}/configur
9190: 65 20 26 26 20 2d 65 20 24 7b 78 7d 2f 2e 2e 2f  e && -e ${x}/../
91a0: 63 6f 6e 66 69 67 75 72 65 20 26 26 20 2d 6e 20  configure && -n 
91b0: 24 28 67 72 65 70 20 27 54 72 61 6e 73 66 6f 72  $(grep 'Transfor
91c0: 6d 20 6c 69 6e 75 78 27 20 22 24 7b 78 7d 2f 2e  m linux' "${x}/.
91d0: 2e 2f 63 6f 6e 66 69 67 75 72 65 22 29 20 5d 5d  ./configure") ]]
91e0: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
91f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9200: 20 20 20 45 4c 54 5f 77 61 6c 6b 5f 70 61 74 63     ELT_walk_patc
9210: 68 65 73 20 22 24 7b 78 7d 2f 2e 2e 2f 63 6f 6e  hes "${x}/../con
9220: 66 69 67 75 72 65 22 20 22 24 7b 79 7d 22 3b 0a  figure" "${y}";.
9230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9240: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 3d              ret=
9250: 24 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  $?;.            
9260: 20 20 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a              fi;.
9270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9280: 20 20 20 20 66 69 0a 20 20 20 20 20 20 20 20 20      fi.         
9290: 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
92a0: 20 20 20 20 20 20 20 20 20 20 22 75 63 6c 69 62            "uclib
92b0: 63 2d 6c 74 63 6f 6e 66 22 29 0a 20 20 20 20 20  c-ltconf").     
92c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
92d0: 66 20 5b 5b 20 2d 73 20 24 7b 78 7d 2f 6c 74 63  f [[ -s ${x}/ltc
92e0: 6f 6e 66 69 67 20 5d 5d 3b 20 74 68 65 6e 0a 20  onfig ]]; then. 
92f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9300: 20 20 20 20 20 20 20 45 4c 54 5f 77 61 6c 6b 5f         ELT_walk_
9310: 70 61 74 63 68 65 73 20 22 24 7b 78 7d 2f 6c 74  patches "${x}/lt
9320: 63 6f 6e 66 69 67 22 20 22 24 7b 79 7d 22 3b 0a  config" "${y}";.
9330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9340: 20 20 20 20 20 20 20 20 72 65 74 3d 24 3f 3b 0a          ret=$?;.
9350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9360: 20 20 20 20 66 69 0a 20 20 20 20 20 20 20 20 20      fi.         
9370: 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
9380: 20 20 20 20 20 20 20 20 20 20 22 66 62 73 64 2d            "fbsd-
9390: 63 6f 6e 66 22 29 0a 20 20 20 20 20 20 20 20 20  conf").         
93a0: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b             if [[
93b0: 20 2d 65 20 24 7b 78 7d 2f 63 6f 6e 66 69 67 75   -e ${x}/configu
93c0: 72 65 20 26 26 20 2d 6e 20 24 28 67 72 65 70 20  re && -n $(grep 
93d0: 27 76 65 72 73 69 6f 6e 5f 74 79 70 65 3d 66 72  'version_type=fr
93e0: 65 65 62 73 64 2d 27 20 22 24 7b 78 7d 2f 63 6f  eebsd-' "${x}/co
93f0: 6e 66 69 67 75 72 65 22 29 20 5d 5d 3b 20 74 68  nfigure") ]]; th
9400: 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  en.             
9410: 20 20 20 20 20 20 20 20 20 20 20 45 4c 54 5f 77             ELT_w
9420: 61 6c 6b 5f 70 61 74 63 68 65 73 20 22 24 7b 78  alk_patches "${x
9430: 7d 2f 63 6f 6e 66 69 67 75 72 65 22 20 22 24 7b  }/configure" "${
9440: 79 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20  y}";.           
9450: 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74               ret
9460: 3d 24 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20  =$?;.           
9470: 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20           else.  
9480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9490: 20 20 20 20 20 20 69 66 20 5b 5b 20 21 20 2d 65        if [[ ! -e
94a0: 20 24 7b 78 7d 2f 63 6f 6e 66 69 67 75 72 65 20   ${x}/configure 
94b0: 26 26 20 2d 65 20 24 7b 78 7d 2f 2e 2e 2f 63 6f  && -e ${x}/../co
94c0: 6e 66 69 67 75 72 65 20 26 26 20 2d 6e 20 24 28  nfigure && -n $(
94d0: 67 72 65 70 20 27 76 65 72 73 69 6f 6e 5f 74 79  grep 'version_ty
94e0: 70 65 3d 66 72 65 65 62 73 64 2d 27 20 22 24 7b  pe=freebsd-' "${
94f0: 78 7d 2f 2e 2e 2f 63 6f 6e 66 69 67 75 72 65 22  x}/../configure"
9500: 29 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  ) ]]; then.     
9510: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9520: 20 20 20 20 20 20 20 45 4c 54 5f 77 61 6c 6b 5f         ELT_walk_
9530: 70 61 74 63 68 65 73 20 22 24 7b 78 7d 2f 2e 2e  patches "${x}/..
9540: 2f 63 6f 6e 66 69 67 75 72 65 22 20 22 24 7b 79  /configure" "${y
9550: 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  }";.            
9560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9570: 72 65 74 3d 24 3f 3b 0a 20 20 20 20 20 20 20 20  ret=$?;.        
9580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9590: 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  fi;.            
95a0: 20 20 20 20 20 20 20 20 66 69 0a 20 20 20 20 20          fi.     
95b0: 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
95c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66                "f
95d0: 62 73 64 2d 6c 74 63 6f 6e 66 22 29 0a 20 20 20  bsd-ltconf").   
95e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
95f0: 20 69 66 20 5b 5b 20 2d 73 20 24 7b 78 7d 2f 6c   if [[ -s ${x}/l
9600: 74 63 6f 6e 66 69 67 20 5d 5d 3b 20 74 68 65 6e  tconfig ]]; then
9610: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9620: 20 20 20 20 20 20 20 20 20 45 4c 54 5f 77 61 6c           ELT_wal
9630: 6b 5f 70 61 74 63 68 65 73 20 22 24 7b 78 7d 2f  k_patches "${x}/
9640: 6c 74 63 6f 6e 66 69 67 22 20 22 24 7b 79 7d 22  ltconfig" "${y}"
9650: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
9660: 20 20 20 20 20 20 20 20 20 20 72 65 74 3d 24 3f            ret=$?
9670: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
9680: 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20        fi.       
9690: 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
96a0: 20 20 20 20 20 20 20 20 20 20 20 20 22 64 61 72              "dar
96b0: 77 69 6e 2d 6c 74 63 6f 6e 66 22 29 0a 20 20 20  win-ltconf").   
96c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
96d0: 20 69 66 20 5b 5b 20 2d 73 20 24 7b 78 7d 2f 6c   if [[ -s ${x}/l
96e0: 74 63 6f 6e 66 69 67 20 5d 5d 3b 20 74 68 65 6e  tconfig ]]; then
96f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9700: 20 20 20 20 20 20 20 20 20 45 4c 54 5f 77 61 6c           ELT_wal
9710: 6b 5f 70 61 74 63 68 65 73 20 22 24 7b 78 7d 2f  k_patches "${x}/
9720: 6c 74 63 6f 6e 66 69 67 22 20 22 24 7b 79 7d 22  ltconfig" "${y}"
9730: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
9740: 20 20 20 20 20 20 20 20 20 20 72 65 74 3d 24 3f            ret=$?
9750: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
9760: 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20        fi.       
9770: 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
9780: 20 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 73              "ins
9790: 74 61 6c 6c 2d 73 68 22 29 0a 20 20 20 20 20 20  tall-sh").      
97a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4c                EL
97b0: 54 5f 77 61 6c 6b 5f 70 61 74 63 68 65 73 20 22  T_walk_patches "
97c0: 24 7b 78 7d 2f 69 6e 73 74 61 6c 6c 2d 73 68 22  ${x}/install-sh"
97d0: 20 22 24 7b 79 7d 22 3b 0a 20 20 20 20 20 20 20   "${y}";.       
97e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74               ret
97f0: 3d 24 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20  =$?.            
9800: 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20      ;;.         
9810: 20 20 20 20 20 20 20 22 63 72 6f 73 73 22 29 0a         "cross").
9820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9830: 20 20 20 20 69 66 20 74 63 2d 69 73 2d 63 72 6f      if tc-is-cro
9840: 73 73 2d 63 6f 6d 70 69 6c 65 72 3b 20 74 68 65  ss-compiler; the
9850: 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n.              
9860: 20 20 20 20 20 20 20 20 20 20 45 4c 54 5f 77 61            ELT_wa
9870: 6c 6b 5f 70 61 74 63 68 65 73 20 22 24 7b 78 7d  lk_patches "${x}
9880: 2f 6c 74 6d 61 69 6e 2e 73 68 22 20 22 24 7b 79  /ltmain.sh" "${y
9890: 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  }";.            
98a0: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 3d              ret=
98b0: 24 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  $?;.            
98c0: 20 20 20 20 20 20 20 20 66 69 0a 20 20 20 20 20          fi.     
98d0: 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
98e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 29                *)
98f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9900: 20 20 20 20 20 45 4c 54 5f 77 61 6c 6b 5f 70 61       ELT_walk_pa
9910: 74 63 68 65 73 20 22 24 7b 78 7d 2f 6c 74 6d 61  tches "${x}/ltma
9920: 69 6e 2e 73 68 22 20 22 24 7b 79 7d 22 3b 0a 20  in.sh" "${y}";. 
9930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9940: 20 20 20 72 65 74 3d 24 3f 0a 20 20 20 20 20 20     ret=$?.      
9950: 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20            ;;.   
9960: 20 20 20 20 20 20 20 20 20 65 73 61 63 3b 0a 20           esac;. 
9970: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b             if [[
9980: 20 24 7b 72 65 74 7d 20 2d 6e 65 20 30 20 5d 5d   ${ret} -ne 0 ]]
9990: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
99a0: 20 20 20 20 20 20 20 63 61 73 65 20 24 7b 79 7d         case ${y}
99b0: 20 69 6e 20 0a 20 20 20 20 20 20 20 20 20 20 20   in .           
99c0: 20 20 20 20 20 20 20 20 20 22 72 65 6c 69 6e 6b           "relink
99d0: 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ").             
99e0: 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c             local
99f0: 20 76 65 72 73 69 6f 6e 3d 24 28 45 4c 54 5f 6c   version=$(ELT_l
9a00: 69 62 74 6f 6f 6c 5f 76 65 72 73 69 6f 6e 20 22  ibtool_version "
9a10: 24 7b 78 7d 2f 6c 74 6d 61 69 6e 2e 73 68 22 29  ${x}/ltmain.sh")
9a20: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
9a30: 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20            if [[ 
9a40: 2d 7a 20 24 28 67 72 65 70 20 27 69 6e 73 74 5f  -z $(grep 'inst_
9a50: 70 72 65 66 69 78 5f 64 69 72 27 20 22 24 7b 78  prefix_dir' "${x
9a60: 7d 2f 6c 74 6d 61 69 6e 2e 73 68 22 29 20 26 26  }/ltmain.sh") &&
9a70: 20 24 28 56 45 52 5f 74 6f 5f 69 6e 74 20 22 24   $(VER_to_int "$
9a80: 7b 76 65 72 73 69 6f 6e 7d 22 29 20 2d 67 65 20  {version}") -ge 
9a90: 24 28 56 45 52 5f 74 6f 5f 69 6e 74 20 22 31 2e  $(VER_to_int "1.
9aa0: 34 2e 30 22 29 20 5d 5d 3b 20 74 68 65 6e 0a 20  4.0") ]]; then. 
9ab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9ac0: 20 20 20 20 20 20 20 20 20 20 20 65 77 61 72 6e             ewarn
9ad0: 20 22 20 20 43 6f 75 6c 64 20 6e 6f 74 20 61 70   "  Could not ap
9ae0: 70 6c 79 20 72 65 6c 69 6e 6b 2e 70 61 74 63 68  ply relink.patch
9af0: 21 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  !";.            
9b00: 20 20 20 20 20 20 20 20 20 20 20 20 66 69 0a 20              fi. 
9b10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9b20: 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
9b30: 20 20 20 20 20 20 20 20 20 20 22 70 6f 72 74 61            "porta
9b40: 67 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20  ge").           
9b50: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
9b60: 5b 5b 20 24 7b 64 6f 5f 70 6f 72 74 61 67 65 7d  [[ ${do_portage}
9b70: 20 3d 3d 20 22 79 65 73 22 20 5d 5d 3b 20 74 68   == "yes" ]]; th
9b80: 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  en.             
9b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
9ba0: 66 20 5b 5b 20 2d 7a 20 24 28 67 72 65 70 20 27  f [[ -z $(grep '
9bb0: 57 65 20 64 6f 20 6e 6f 74 20 77 61 6e 74 20 70  We do not want p
9bc0: 6f 72 74 61 67 65 27 20 22 24 7b 78 7d 2f 6c 74  ortage' "${x}/lt
9bd0: 6d 61 69 6e 2e 73 68 22 29 20 5d 5d 3b 20 74 68  main.sh") ]]; th
9be0: 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  en.             
9bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9c00: 20 20 20 65 63 68 6f 3b 0a 20 20 20 20 20 20 20     echo;.       
9c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9c20: 20 20 20 20 20 20 20 20 20 65 65 72 72 6f 72 20           eerror 
9c30: 22 50 6f 72 74 61 67 65 20 70 61 74 63 68 20 72  "Portage patch r
9c40: 65 71 75 65 73 74 65 64 2c 20 62 75 74 20 66 61  equested, but fa
9c50: 69 6c 65 64 20 74 6f 20 61 70 70 6c 79 21 22 3b  iled to apply!";
9c60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9c80: 20 65 65 72 72 6f 72 20 22 50 6c 65 61 73 65 20   eerror "Please 
9c90: 62 75 67 20 61 7a 61 72 61 68 20 6f 72 20 76 61  bug azarah or va
9ca0: 70 69 65 72 20 74 6f 20 61 64 64 20 70 72 6f 70  pier to add prop
9cb0: 65 72 20 70 61 74 63 68 2e 22 3b 0a 20 20 20 20  er patch.";.    
9cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9cd0: 20 20 20 20 20 20 20 20 20 20 20 20 64 69 65 20              die 
9ce0: 22 50 6f 72 74 61 67 65 20 70 61 74 63 68 20 72  "Portage patch r
9cf0: 65 71 75 65 73 74 65 64 2c 20 62 75 74 20 66 61  equested, but fa
9d00: 69 6c 65 64 20 74 6f 20 61 70 70 6c 79 21 22 3b  iled to apply!";
9d10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 3b               fi;
9d30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9d40: 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20           else.  
9d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9d60: 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20            if [[ 
9d70: 2d 6e 20 24 28 67 72 65 70 20 27 57 65 20 64 6f  -n $(grep 'We do
9d80: 20 6e 6f 74 20 77 61 6e 74 20 70 6f 72 74 61 67   not want portag
9d90: 65 27 20 22 24 7b 78 7d 2f 6c 74 6d 61 69 6e 2e  e' "${x}/ltmain.
9da0: 73 68 22 29 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  sh") ]]; then.  
9db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 3b                :;
9dd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73               els
9df0: 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  e.              
9e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9e10: 20 20 6c 6f 63 61 6c 20 76 65 72 73 69 6f 6e 3d    local version=
9e20: 24 28 20 09 09 09 09 09 09 09 09 09 65 76 61 6c  $( .........eval
9e30: 20 24 28 67 72 65 70 20 2d 65 20 27 5e 5b 5b 3a   $(grep -e '^[[:
9e40: 73 70 61 63 65 3a 5d 5d 2a 56 45 52 53 49 4f 4e  space:]]*VERSION
9e50: 3d 27 20 22 24 7b 78 7d 2f 6c 74 6d 61 69 6e 2e  =' "${x}/ltmain.
9e60: 73 68 22 29 3b 20 09 09 09 09 09 09 09 09 09 65  sh"); .........e
9e70: 63 68 6f 20 22 24 7b 56 45 52 53 49 4f 4e 7d 22  cho "${VERSION}"
9e80: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
9e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9ea0: 20 20 20 65 63 68 6f 3b 0a 20 20 20 20 20 20 20     echo;.       
9eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9ec0: 20 20 20 20 20 20 20 20 20 65 65 72 72 6f 72 20           eerror 
9ed0: 22 50 6f 72 74 61 67 65 20 70 61 74 63 68 20 66  "Portage patch f
9ee0: 61 69 6c 65 64 20 74 6f 20 61 70 70 6c 79 20 28  ailed to apply (
9ef0: 6c 74 6d 61 69 6e 2e 73 68 20 76 65 72 73 69 6f  ltmain.sh versio
9f00: 6e 20 24 7b 76 65 72 73 69 6f 6e 7d 29 21 22 3b  n ${version})!";
9f10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
9f20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9f30: 20 65 65 72 72 6f 72 20 22 50 6c 65 61 73 65 20   eerror "Please 
9f40: 62 75 67 20 61 7a 61 72 61 68 20 6f 72 20 76 61  bug azarah or va
9f50: 70 69 65 72 20 74 6f 20 61 64 64 20 70 72 6f 70  pier to add prop
9f60: 65 72 20 70 61 74 63 68 2e 22 3b 0a 20 20 20 20  er patch.";.    
9f70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9f80: 20 20 20 20 20 20 20 20 20 20 20 20 64 69 65 20              die 
9f90: 22 50 6f 72 74 61 67 65 20 70 61 74 63 68 20 66  "Portage patch f
9fa0: 61 69 6c 65 64 20 74 6f 20 61 70 70 6c 79 21 22  ailed to apply!"
9fb0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
9fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69                fi
9fd0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
9fe0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4c                EL
9ff0: 54 5f 41 50 50 4c 49 45 44 5f 50 41 54 43 48 45  T_APPLIED_PATCHE
a000: 53 3d 22 70 6f 72 74 61 67 65 22 3b 0a 20 20 20  S="portage";.   
a010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a020: 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20 20       fi.        
a030: 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
a040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a050: 20 20 20 22 75 63 6c 69 62 63 2d 22 2a 29 0a 20     "uclibc-"*). 
a060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a070: 20 20 20 20 20 20 20 5b 5b 20 24 7b 43 48 4f 53         [[ ${CHOS
a080: 54 7d 20 3d 3d 20 2a 22 2d 75 63 6c 69 62 63 22  T} == *"-uclibc"
a090: 20 5d 5d 20 26 26 20 65 77 61 72 6e 20 22 20 20   ]] && ewarn "  
a0a0: 75 43 6c 69 62 63 20 70 61 74 63 68 20 73 65 74  uClibc patch set
a0b0: 20 27 24 7b 79 7d 27 20 66 61 69 6c 65 64 20 74   '${y}' failed t
a0c0: 6f 20 61 70 70 6c 79 21 22 0a 20 20 20 20 20 20  o apply!".      
a0d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b                ;;
a0e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
a0f0: 20 20 20 20 20 22 66 62 73 64 2d 22 2a 29 0a 20       "fbsd-"*). 
a100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a110: 20 20 20 20 20 20 20 69 66 20 5b 5b 20 24 7b 43         if [[ ${C
a120: 48 4f 53 54 7d 20 3d 3d 20 2a 22 2d 66 72 65 65  HOST} == *"-free
a130: 62 73 64 22 2a 20 5d 5d 3b 20 74 68 65 6e 0a 20  bsd"* ]]; then. 
a140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a150: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b             if [[
a160: 20 2d 7a 20 24 28 67 72 65 70 20 27 48 61 6e 64   -z $(grep 'Hand
a170: 6c 65 20 47 65 6e 74 6f 6f 2f 46 72 65 65 42 53  le Gentoo/FreeBS
a180: 44 20 61 73 20 69 74 20 77 61 73 20 4c 69 6e 75  D as it was Linu
a190: 78 27 20 09 09 09 09 09 09 09 09 22 24 7b 78 7d  x' ........"${x}
a1a0: 2f 63 6f 6e 66 69 67 75 72 65 22 20 22 24 7b 78  /configure" "${x
a1b0: 7d 2f 2e 2e 2f 63 6f 6e 66 69 67 75 72 65 22 20  }/../configure" 
a1c0: 32 3e 2f 64 65 76 2f 6e 75 6c 6c 29 20 5d 5d 3b  2>/dev/null) ]];
a1d0: 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20   then.          
a1e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a1f0: 20 20 20 20 20 20 65 65 72 72 6f 72 20 22 20 20        eerror "  
a200: 46 72 65 65 42 53 44 20 70 61 74 63 68 20 73 65  FreeBSD patch se
a210: 74 20 27 24 7b 79 7d 27 20 66 61 69 6c 65 64 20  t '${y}' failed 
a220: 74 6f 20 61 70 70 6c 79 21 22 3b 0a 20 20 20 20  to apply!";.    
a230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a240: 20 20 20 20 20 20 20 20 20 20 20 20 64 69 65 20              die 
a250: 22 46 72 65 65 42 53 44 20 70 61 74 63 68 20 73  "FreeBSD patch s
a260: 65 74 20 27 24 7b 79 7d 27 20 66 61 69 6c 65 64  et '${y}' failed
a270: 20 74 6f 20 61 70 70 6c 79 21 22 3b 0a 20 20 20   to apply!";.   
a280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a290: 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20           fi;.   
a2a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a2b0: 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20 20       fi.        
a2c0: 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
a2d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a2e0: 20 20 20 22 64 61 72 77 69 6e 2d 22 2a 29 0a 20     "darwin-"*). 
a2f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a300: 20 20 20 20 20 20 20 5b 5b 20 24 7b 43 48 4f 53         [[ ${CHOS
a310: 54 7d 20 3d 3d 20 2a 22 2d 64 61 72 77 69 6e 22  T} == *"-darwin"
a320: 2a 20 5d 5d 20 26 26 20 65 77 61 72 6e 20 22 20  * ]] && ewarn " 
a330: 20 44 61 72 77 69 6e 20 70 61 74 63 68 20 73 65   Darwin patch se
a340: 74 20 27 24 7b 79 7d 27 20 66 61 69 6c 65 64 20  t '${y}' failed 
a350: 74 6f 20 61 70 70 6c 79 21 22 0a 20 20 20 20 20  to apply!".     
a360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b                 ;
a370: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
a380: 20 20 65 73 61 63 3b 0a 20 20 20 20 20 20 20 20    esac;.        
a390: 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20      fi;.        
a3a0: 64 6f 6e 65 3b 0a 20 20 20 20 20 20 20 20 69 66  done;.        if
a3b0: 20 5b 5b 20 2d 7a 20 24 7b 45 4c 54 5f 41 50 50   [[ -z ${ELT_APP
a3c0: 4c 49 45 44 5f 50 41 54 43 48 45 53 7d 20 5d 5d  LIED_PATCHES} ]]
a3d0: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
a3e0: 20 20 20 69 66 20 5b 5b 20 24 7b 64 6f 5f 70 6f     if [[ ${do_po
a3f0: 72 74 61 67 65 7d 20 3d 3d 20 22 6e 6f 22 20 26  rtage} == "no" &
a400: 26 20 24 7b 64 6f 5f 72 65 76 65 72 73 65 64 65  & ${do_reversede
a410: 70 73 7d 20 3d 3d 20 22 6e 6f 22 20 26 26 20 24  ps} == "no" && $
a420: 7b 64 6f 5f 6f 6e 6c 79 5f 70 61 74 63 68 65 73  {do_only_patches
a430: 7d 20 3d 3d 20 22 6e 6f 22 20 26 26 20 24 7b 64  } == "no" && ${d
a440: 65 70 74 6f 72 65 6d 6f 76 65 7d 20 3d 3d 20 22  eptoremove} == "
a450: 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  " ]]; then.     
a460: 20 20 20 20 20 20 20 20 20 20 20 65 77 61 72 6e             ewarn
a470: 20 22 43 61 6e 6e 6f 74 20 61 70 70 6c 79 20 61   "Cannot apply a
a480: 6e 79 20 70 61 74 63 68 65 73 2c 20 70 6c 65 61  ny patches, plea
a490: 73 65 20 66 69 6c 65 20 61 20 62 75 67 20 61 62  se file a bug ab
a4a0: 6f 75 74 20 74 68 69 73 22 3b 0a 20 20 20 20 20  out this";.     
a4b0: 20 20 20 20 20 20 20 20 20 20 20 64 69 65 3b 0a             die;.
a4c0: 20 20 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a              fi;.
a4d0: 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20          fi;.    
a4e0: 20 20 20 20 5b 5b 20 2d 66 20 24 7b 78 7d 2f 6c      [[ -f ${x}/l
a4f0: 69 62 74 6f 6f 6c 20 5d 5d 20 26 26 20 72 6d 20  ibtool ]] && rm 
a500: 2d 66 20 22 24 7b 78 7d 2f 6c 69 62 74 6f 6f 6c  -f "${x}/libtool
a510: 22 3b 0a 20 20 20 20 20 20 20 20 20 3e 3e 20 22  ";.         >> "
a520: 24 7b 78 7d 2f 2e 65 6c 69 62 74 6f 6f 6c 69 7a  ${x}/.elibtooliz
a530: 65 64 22 3b 0a 20 20 20 20 64 6f 6e 65 3b 0a 20  ed";.    done;. 
a540: 20 20 20 63 64 20 22 24 7b 73 74 61 72 74 5f 64     cd "${start_d
a550: 69 72 7d 22 0a 7d 0a 65 6d 6b 74 65 6d 70 20 28  ir}".}.emktemp (
a560: 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20  ) .{ .    local 
a570: 65 78 65 3d 22 74 6f 75 63 68 22 3b 0a 20 20 20  exe="touch";.   
a580: 20 5b 5b 20 24 31 20 3d 3d 20 2d 64 20 5d 5d 20   [[ $1 == -d ]] 
a590: 26 26 20 65 78 65 3d 22 6d 6b 64 69 72 22 20 26  && exe="mkdir" &
a5a0: 26 20 73 68 69 66 74 3b 0a 20 20 20 20 6c 6f 63  & shift;.    loc
a5b0: 61 6c 20 74 6f 70 64 69 72 3d 24 31 3b 0a 20 20  al topdir=$1;.  
a5c0: 20 20 69 66 20 5b 5b 20 2d 7a 20 24 7b 74 6f 70    if [[ -z ${top
a5d0: 64 69 72 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  dir} ]]; then.  
a5e0: 20 20 20 20 20 20 5b 5b 20 2d 7a 20 24 7b 54 7d        [[ -z ${T}
a5f0: 20 5d 5d 20 26 26 20 74 6f 70 64 69 72 3d 22 2f   ]] && topdir="/
a600: 74 6d 70 22 20 7c 7c 20 74 6f 70 64 69 72 3d 24  tmp" || topdir=$
a610: 7b 54 7d 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20  {T};.    fi;.   
a620: 20 69 66 20 21 20 74 79 70 65 20 2d 50 20 6d 6b   if ! type -P mk
a630: 74 65 6d 70 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c  temp > /dev/null
a640: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 6c  ; then.        l
a650: 6f 63 61 6c 20 74 6d 70 3d 2f 3b 0a 20 20 20 20  ocal tmp=/;.    
a660: 20 20 20 20 77 68 69 6c 65 20 5b 5b 20 2d 65 20      while [[ -e 
a670: 24 7b 74 6d 70 7d 20 5d 5d 3b 20 64 6f 0a 20 20  ${tmp} ]]; do.  
a680: 20 20 20 20 20 20 20 20 20 20 74 6d 70 3d 24 7b            tmp=${
a690: 74 6f 70 64 69 72 7d 2f 74 6d 70 2e 24 7b 52 41  topdir}/tmp.${RA
a6a0: 4e 44 4f 4d 7d 2e 24 7b 52 41 4e 44 4f 4d 7d 2e  NDOM}.${RANDOM}.
a6b0: 24 7b 52 41 4e 44 4f 4d 7d 3b 0a 20 20 20 20 20  ${RANDOM};.     
a6c0: 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 20 20 20     done;.       
a6d0: 20 24 7b 65 78 65 7d 20 22 24 7b 74 6d 70 7d 22   ${exe} "${tmp}"
a6e0: 20 7c 7c 20 24 7b 65 78 65 7d 20 2d 70 20 22 24   || ${exe} -p "$
a6f0: 7b 74 6d 70 7d 22 3b 0a 20 20 20 20 20 20 20 20  {tmp}";.        
a700: 65 63 68 6f 20 22 24 7b 74 6d 70 7d 22 3b 0a 20  echo "${tmp}";. 
a710: 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20     else.        
a720: 69 66 20 5b 5b 20 24 7b 65 78 65 7d 20 3d 3d 20  if [[ ${exe} == 
a730: 22 74 6f 75 63 68 22 20 5d 5d 3b 20 74 68 65 6e  "touch" ]]; then
a740: 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 4d 50  .            TMP
a750: 44 49 52 3d 22 24 7b 74 6f 70 64 69 72 7d 22 20  DIR="${topdir}" 
a760: 6d 6b 74 65 6d 70 20 2d 74 20 74 6d 70 2e 58 58  mktemp -t tmp.XX
a770: 58 58 58 58 58 58 58 58 3b 0a 20 20 20 20 20 20  XXXXXXXX;.      
a780: 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20    else.         
a790: 20 20 20 54 4d 50 44 49 52 3d 22 24 7b 74 6f 70     TMPDIR="${top
a7a0: 64 69 72 7d 22 20 6d 6b 74 65 6d 70 20 2d 64 74  dir}" mktemp -dt
a7b0: 20 74 6d 70 2e 58 58 58 58 58 58 58 58 58 58 3b   tmp.XXXXXXXXXX;
a7c0: 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20  .        fi;.   
a7d0: 20 66 69 0a 7d 0a 65 6e 65 77 67 72 6f 75 70 20   fi.}.enewgroup 
a7e0: 28 29 20 0a 7b 20 0a 20 20 20 20 63 61 73 65 20  () .{ .    case 
a7f0: 24 7b 45 42 55 49 4c 44 5f 50 48 41 53 45 7d 20  ${EBUILD_PHASE} 
a800: 69 6e 20 0a 20 20 20 20 20 20 20 20 75 6e 70 61  in .        unpa
a810: 63 6b 20 7c 20 63 6f 6d 70 69 6c 65 20 7c 20 74  ck | compile | t
a820: 65 73 74 20 7c 20 69 6e 73 74 61 6c 6c 29 0a 20  est | install). 
a830: 20 20 20 20 20 20 20 20 20 20 20 65 65 72 72 6f             eerro
a840: 72 20 22 27 65 6e 65 77 67 72 6f 75 70 28 29 27  r "'enewgroup()'
a850: 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 27 24 7b   called from '${
a860: 45 42 55 49 4c 44 5f 50 48 41 53 45 7d 28 29 27  EBUILD_PHASE}()'
a870: 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 61 20   which is not a 
a880: 70 6b 67 5f 2a 20 66 75 6e 63 74 69 6f 6e 2e 22  pkg_* function."
a890: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 65  ;.            ee
a8a0: 72 72 6f 72 20 22 50 61 63 6b 61 67 65 20 66 61  rror "Package fa
a8b0: 69 6c 73 20 61 74 20 51 41 20 61 6e 64 20 61 74  ils at QA and at
a8c0: 20 6c 69 66 65 2e 20 20 50 6c 65 61 73 65 20 66   life.  Please f
a8d0: 69 6c 65 20 61 20 62 75 67 2e 22 3b 0a 20 20 20  ile a bug.";.   
a8e0: 20 20 20 20 20 20 20 20 20 64 69 65 20 22 42 61           die "Ba
a8f0: 64 20 70 61 63 6b 61 67 65 21 20 20 65 6e 65 77  d package!  enew
a900: 67 72 6f 75 70 20 69 73 20 6f 6e 6c 79 20 66 6f  group is only fo
a910: 72 20 75 73 65 20 69 6e 20 70 6b 67 5f 2a 20 66  r use in pkg_* f
a920: 75 6e 63 74 69 6f 6e 73 21 22 0a 20 20 20 20 20  unctions!".     
a930: 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63 3b 0a     ;;.    esac;.
a940: 20 20 20 20 6c 6f 63 61 6c 20 65 67 72 6f 75 70      local egroup
a950: 3d 22 24 31 22 3b 0a 20 20 20 20 73 68 69 66 74  ="$1";.    shift
a960: 3b 0a 20 20 20 20 69 66 20 5b 20 2d 7a 20 22 24  ;.    if [ -z "$
a970: 7b 65 67 72 6f 75 70 7d 22 20 5d 3b 20 74 68 65  {egroup}" ]; the
a980: 6e 0a 20 20 20 20 20 20 20 20 65 65 72 72 6f 72  n.        eerror
a990: 20 22 4e 6f 20 67 72 6f 75 70 20 73 70 65 63 69   "No group speci
a9a0: 66 69 65 64 20 21 22 3b 0a 20 20 20 20 20 20 20  fied !";.       
a9b0: 20 64 69 65 20 22 43 61 6e 6e 6f 74 20 63 61 6c   die "Cannot cal
a9c0: 6c 20 65 6e 65 77 67 72 6f 75 70 20 77 69 74 68  l enewgroup with
a9d0: 6f 75 74 20 61 20 67 72 6f 75 70 22 3b 0a 20 20  out a group";.  
a9e0: 20 20 66 69 3b 0a 20 20 20 20 69 66 20 5b 5b 20    fi;.    if [[ 
a9f0: 2d 6e 20 24 28 65 67 65 74 65 6e 74 20 67 72 6f  -n $(egetent gro
aa00: 75 70 20 22 24 7b 65 67 72 6f 75 70 7d 22 29 20  up "${egroup}") 
aa10: 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
aa20: 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 66   return 0;.    f
aa30: 69 3b 0a 20 20 20 20 65 69 6e 66 6f 20 22 41 64  i;.    einfo "Ad
aa40: 64 69 6e 67 20 67 72 6f 75 70 20 27 24 7b 65 67  ding group '${eg
aa50: 72 6f 75 70 7d 27 20 74 6f 20 79 6f 75 72 20 73  roup}' to your s
aa60: 79 73 74 65 6d 20 2e 2e 2e 22 3b 0a 20 20 20 20  ystem ...";.    
aa70: 6c 6f 63 61 6c 20 6f 70 74 73 3d 3b 0a 20 20 20  local opts=;.   
aa80: 20 6c 6f 63 61 6c 20 65 67 69 64 3d 22 24 31 22   local egid="$1"
aa90: 3b 0a 20 20 20 20 73 68 69 66 74 3b 0a 20 20 20  ;.    shift;.   
aaa0: 20 69 66 20 5b 20 21 20 2d 7a 20 22 24 7b 65 67   if [ ! -z "${eg
aab0: 69 64 7d 22 20 5d 3b 20 74 68 65 6e 0a 20 20 20  id}" ]; then.   
aac0: 20 20 20 20 20 69 66 20 5b 20 22 24 7b 65 67 69       if [ "${egi
aad0: 64 7d 22 20 2d 67 74 20 30 20 5d 3b 20 74 68 65  d}" -gt 0 ]; the
aae0: 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  n.            if
aaf0: 20 5b 20 2d 7a 20 22 60 65 67 65 74 65 6e 74 20   [ -z "`egetent 
ab00: 67 72 6f 75 70 20 24 7b 65 67 69 64 7d 60 22 20  group ${egid}`" 
ab10: 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  ]; then.        
ab20: 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 22 24          if [[ "$
ab30: 7b 43 48 4f 53 54 7d 22 20 3d 3d 20 2a 2d 64 61  {CHOST}" == *-da
ab40: 72 77 69 6e 2a 20 5d 5d 3b 20 74 68 65 6e 0a 20  rwin* ]]; then. 
ab50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ab60: 20 20 20 6f 70 74 73 3d 22 24 7b 6f 70 74 73 7d     opts="${opts}
ab70: 20 24 7b 65 67 69 64 7d 22 3b 0a 20 20 20 20 20   ${egid}";.     
ab80: 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a             else.
ab90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
aba0: 20 20 20 20 6f 70 74 73 3d 22 24 7b 6f 70 74 73      opts="${opts
abb0: 7d 20 2d 67 20 24 7b 65 67 69 64 7d 22 3b 0a 20  } -g ${egid}";. 
abc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66                 f
abd0: 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  i;.            e
abe0: 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  lse.            
abf0: 20 20 20 20 65 67 69 64 3d 22 6e 65 78 74 20 61      egid="next a
ac00: 76 61 69 6c 61 62 6c 65 3b 20 72 65 71 75 65 73  vailable; reques
ac10: 74 65 64 20 67 69 64 20 74 61 6b 65 6e 22 3b 0a  ted gid taken";.
ac20: 20 20 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a              fi;.
ac30: 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20          else.   
ac40: 20 20 20 20 20 20 20 20 20 65 65 72 72 6f 72 20           eerror 
ac50: 22 47 72 6f 75 70 69 64 20 67 69 76 65 6e 20 62  "Groupid given b
ac60: 75 74 20 69 73 20 6e 6f 74 20 67 72 65 61 74 65  ut is not greate
ac70: 72 20 74 68 61 6e 20 30 20 21 22 3b 0a 20 20 20  r than 0 !";.   
ac80: 20 20 20 20 20 20 20 20 20 64 69 65 20 22 24 7b           die "${
ac90: 65 67 69 64 7d 20 69 73 20 6e 6f 74 20 61 20 76  egid} is not a v
aca0: 61 6c 69 64 20 47 49 44 22 3b 0a 20 20 20 20 20  alid GID";.     
acb0: 20 20 20 66 69 3b 0a 20 20 20 20 65 6c 73 65 0a     fi;.    else.
acc0: 20 20 20 20 20 20 20 20 65 67 69 64 3d 22 6e 65          egid="ne
acd0: 78 74 20 61 76 61 69 6c 61 62 6c 65 22 3b 0a 20  xt available";. 
ace0: 20 20 20 66 69 3b 0a 20 20 20 20 65 69 6e 66 6f     fi;.    einfo
acf0: 20 22 20 2d 20 47 72 6f 75 70 69 64 3a 20 24 7b   " - Groupid: ${
ad00: 65 67 69 64 7d 22 3b 0a 20 20 20 20 6c 6f 63 61  egid}";.    loca
ad10: 6c 20 65 65 78 74 72 61 3d 22 24 40 22 3b 0a 20  l eextra="$@";. 
ad20: 20 20 20 6f 70 74 73 3d 22 24 7b 6f 70 74 73 7d     opts="${opts}
ad30: 20 24 7b 65 65 78 74 72 61 7d 22 3b 0a 20 20 20   ${eextra}";.   
ad40: 20 6c 6f 63 61 6c 20 6f 6c 64 73 61 6e 64 62 6f   local oldsandbo
ad50: 78 3d 22 24 7b 53 41 4e 44 42 4f 58 5f 4f 4e 7d  x="${SANDBOX_ON}
ad60: 22 3b 0a 20 20 20 20 65 78 70 6f 72 74 20 53 41  ";.    export SA
ad70: 4e 44 42 4f 58 5f 4f 4e 3d 22 30 22 3b 0a 20 20  NDBOX_ON="0";.  
ad80: 20 20 63 61 73 65 20 24 7b 43 48 4f 53 54 7d 20    case ${CHOST} 
ad90: 69 6e 20 0a 20 20 20 20 20 20 20 20 2a 2d 64 61  in .        *-da
ada0: 72 77 69 6e 2a 29 0a 20 20 20 20 20 20 20 20 20  rwin*).         
adb0: 20 20 20 69 66 20 5b 20 21 20 2d 7a 20 22 24 7b     if [ ! -z "${
adc0: 65 65 78 74 72 61 7d 22 20 5d 3b 20 74 68 65 6e  eextra}" ]; then
add0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
ade0: 20 65 69 6e 66 6f 20 22 45 78 74 72 61 20 6f 70   einfo "Extra op
adf0: 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 73 75  tions are not su
ae00: 70 70 6f 72 74 65 64 20 6f 6e 20 44 61 72 77 69  pported on Darwi
ae10: 6e 2f 4f 53 20 58 20 79 65 74 22 3b 0a 20 20 20  n/OS X yet";.   
ae20: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69 6e               ein
ae30: 66 6f 20 22 50 6c 65 61 73 65 20 72 65 70 6f 72  fo "Please repor
ae40: 74 20 74 68 65 20 65 62 75 69 6c 64 20 61 6c 6f  t the ebuild alo
ae50: 6e 67 20 77 69 74 68 20 74 68 65 20 69 6e 66 6f  ng with the info
ae60: 20 62 65 6c 6f 77 22 3b 0a 20 20 20 20 20 20 20   below";.       
ae70: 20 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22           einfo "
ae80: 65 65 78 74 72 61 3a 20 24 7b 65 65 78 74 72 61  eextra: ${eextra
ae90: 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  }";.            
aea0: 20 20 20 20 64 69 65 20 22 52 65 71 75 69 72 65      die "Require
aeb0: 64 20 66 75 6e 63 74 69 6f 6e 20 6d 69 73 73 69  d function missi
aec0: 6e 67 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20  ng";.           
aed0: 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20   fi;.           
aee0: 20 63 61 73 65 20 24 7b 65 67 69 64 7d 20 69 6e   case ${egid} in
aef0: 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   .              
af00: 20 20 2a 5b 21 30 2d 39 5d 2a 29 0a 20 20 20 20    *[!0-9]*).    
af10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
af20: 66 6f 72 20 28 28 65 67 69 64 20 3d 20 31 30 31  for ((egid = 101
af30: 3b 20 65 67 69 64 20 3c 3d 20 39 39 39 3b 20 65  ; egid <= 999; e
af40: 67 69 64 2b 2b 29 29 0a 20 20 20 20 20 20 20 20  gid++)).        
af50: 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 0a 20              do. 
af60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
af70: 20 20 20 20 20 20 20 5b 5b 20 2d 7a 20 24 28 65         [[ -z $(e
af80: 67 65 74 65 6e 74 20 67 72 6f 75 70 20 24 7b 65  getent group ${e
af90: 67 69 64 7d 29 20 5d 5d 20 26 26 20 62 72 65 61  gid}) ]] && brea
afa0: 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  k;.             
afb0: 20 20 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20         done.    
afc0: 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
afd0: 20 20 20 20 20 20 20 20 20 20 20 65 73 61 63 3b             esac;
afe0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 73 63  .            dsc
aff0: 6c 20 2e 20 63 72 65 61 74 65 20 2f 67 72 6f 75  l . create /grou
b000: 70 73 2f 24 7b 65 67 72 6f 75 70 7d 20 67 69 64  ps/${egroup} gid
b010: 20 24 7b 65 67 69 64 7d 3b 0a 20 20 20 20 20 20   ${egid};.      
b020: 20 20 20 20 20 20 64 73 63 6c 20 2e 20 63 72 65        dscl . cre
b030: 61 74 65 20 2f 67 72 6f 75 70 73 2f 24 7b 65 67  ate /groups/${eg
b040: 72 6f 75 70 7d 20 70 61 73 73 77 64 20 27 2a 27  roup} passwd '*'
b050: 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  .        ;;.    
b060: 20 20 20 20 2a 2d 66 72 65 65 62 73 64 2a 20 7c      *-freebsd* |
b070: 20 2a 2d 64 72 61 67 6f 6e 66 6c 79 2a 29 0a 20   *-dragonfly*). 
b080: 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20             case 
b090: 24 7b 65 67 69 64 7d 20 69 6e 20 0a 20 20 20 20  ${egid} in .    
b0a0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 5b 21 30              *[!0
b0b0: 2d 39 5d 2a 29 0a 20 20 20 20 20 20 20 20 20 20  -9]*).          
b0c0: 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 28            for ((
b0d0: 65 67 69 64 20 3d 20 31 30 31 3b 20 65 67 69 64  egid = 101; egid
b0e0: 20 3c 3d 20 39 39 39 3b 20 65 67 69 64 2b 2b 29   <= 999; egid++)
b0f0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
b100: 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20        do.       
b110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
b120: 20 5b 5b 20 2d 7a 20 24 28 65 67 65 74 65 6e 74   [[ -z $(egetent
b130: 20 67 72 6f 75 70 20 24 7b 65 67 69 64 7d 29 20   group ${egid}) 
b140: 5d 5d 20 26 26 20 62 72 65 61 6b 3b 0a 20 20 20  ]] && break;.   
b150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
b160: 20 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20   done.          
b170: 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
b180: 20 20 20 20 20 65 73 61 63 3b 0a 20 20 20 20 20       esac;.     
b190: 20 20 20 20 20 20 20 70 77 20 67 72 6f 75 70 61         pw groupa
b1a0: 64 64 20 24 7b 65 67 72 6f 75 70 7d 20 2d 67 20  dd ${egroup} -g 
b1b0: 24 7b 65 67 69 64 7d 20 7c 7c 20 64 69 65 20 22  ${egid} || die "
b1c0: 65 6e 65 77 67 72 6f 75 70 20 66 61 69 6c 65 64  enewgroup failed
b1d0: 22 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20  ".        ;;.   
b1e0: 20 20 20 20 20 2a 2d 6e 65 74 62 73 64 2a 29 0a       *-netbsd*).
b1f0: 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65              case
b200: 20 24 7b 65 67 69 64 7d 20 69 6e 20 0a 20 20 20   ${egid} in .   
b210: 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 5b 21               *[!
b220: 30 2d 39 5d 2a 29 0a 20 20 20 20 20 20 20 20 20  0-9]*).         
b230: 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28             for (
b240: 28 65 67 69 64 20 3d 20 31 30 31 3b 20 65 67 69  (egid = 101; egi
b250: 64 20 3c 3d 20 39 39 39 3b 20 65 67 69 64 2b 2b  d <= 999; egid++
b260: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  )).             
b270: 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20         do.      
b280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
b290: 20 20 5b 5b 20 2d 7a 20 24 28 65 67 65 74 65 6e    [[ -z $(egeten
b2a0: 74 20 67 72 6f 75 70 20 24 7b 65 67 69 64 7d 29  t group ${egid})
b2b0: 20 5d 5d 20 26 26 20 62 72 65 61 6b 3b 0a 20 20   ]] && break;.  
b2c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
b2d0: 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20    done.         
b2e0: 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
b2f0: 20 20 20 20 20 20 65 73 61 63 3b 0a 20 20 20 20        esac;.    
b300: 20 20 20 20 20 20 20 20 67 72 6f 75 70 61 64 64          groupadd
b310: 20 2d 67 20 24 7b 65 67 69 64 7d 20 24 7b 65 67   -g ${egid} ${eg
b320: 72 6f 75 70 7d 20 7c 7c 20 64 69 65 20 22 65 6e  roup} || die "en
b330: 65 77 67 72 6f 75 70 20 66 61 69 6c 65 64 22 0a  ewgroup failed".
b340: 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20          ;;.     
b350: 20 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20 20     *).          
b360: 20 20 67 72 6f 75 70 61 64 64 20 24 7b 6f 70 74    groupadd ${opt
b370: 73 7d 20 24 7b 65 67 72 6f 75 70 7d 20 7c 7c 20  s} ${egroup} || 
b380: 64 69 65 20 22 65 6e 65 77 67 72 6f 75 70 20 66  die "enewgroup f
b390: 61 69 6c 65 64 22 0a 20 20 20 20 20 20 20 20 3b  ailed".        ;
b3a0: 3b 0a 20 20 20 20 65 73 61 63 3b 0a 20 20 20 20  ;.    esac;.    
b3b0: 65 78 70 6f 72 74 20 53 41 4e 44 42 4f 58 5f 4f  export SANDBOX_O
b3c0: 4e 3d 22 24 7b 6f 6c 64 73 61 6e 64 62 6f 78 7d  N="${oldsandbox}
b3d0: 22 0a 7d 0a 65 6e 65 77 75 73 65 72 20 28 29 20  ".}.enewuser () 
b3e0: 0a 7b 20 0a 20 20 20 20 63 61 73 65 20 24 7b 45  .{ .    case ${E
b3f0: 42 55 49 4c 44 5f 50 48 41 53 45 7d 20 69 6e 20  BUILD_PHASE} in 
b400: 0a 20 20 20 20 20 20 20 20 75 6e 70 61 63 6b 20  .        unpack 
b410: 7c 20 63 6f 6d 70 69 6c 65 20 7c 20 74 65 73 74  | compile | test
b420: 20 7c 20 69 6e 73 74 61 6c 6c 29 0a 20 20 20 20   | install).    
b430: 20 20 20 20 20 20 20 20 65 65 72 72 6f 72 20 22          eerror "
b440: 27 65 6e 65 77 75 73 65 72 28 29 27 20 63 61 6c  'enewuser()' cal
b450: 6c 65 64 20 66 72 6f 6d 20 27 24 7b 45 42 55 49  led from '${EBUI
b460: 4c 44 5f 50 48 41 53 45 7d 28 29 27 20 77 68 69  LD_PHASE}()' whi
b470: 63 68 20 69 73 20 6e 6f 74 20 61 20 70 6b 67 5f  ch is not a pkg_
b480: 2a 20 66 75 6e 63 74 69 6f 6e 2e 22 3b 0a 20 20  * function.";.  
b490: 20 20 20 20 20 20 20 20 20 20 65 65 72 72 6f 72            eerror
b4a0: 20 22 50 61 63 6b 61 67 65 20 66 61 69 6c 73 20   "Package fails 
b4b0: 61 74 20 51 41 20 61 6e 64 20 61 74 20 6c 69 66  at QA and at lif
b4c0: 65 2e 20 20 50 6c 65 61 73 65 20 66 69 6c 65 20  e.  Please file 
b4d0: 61 20 62 75 67 2e 22 3b 0a 20 20 20 20 20 20 20  a bug.";.       
b4e0: 20 20 20 20 20 64 69 65 20 22 42 61 64 20 70 61       die "Bad pa
b4f0: 63 6b 61 67 65 21 20 20 65 6e 65 77 75 73 65 72  ckage!  enewuser
b500: 20 69 73 20 6f 6e 6c 79 20 66 6f 72 20 75 73 65   is only for use
b510: 20 69 6e 20 70 6b 67 5f 2a 20 66 75 6e 63 74 69   in pkg_* functi
b520: 6f 6e 73 21 22 0a 20 20 20 20 20 20 20 20 3b 3b  ons!".        ;;
b530: 0a 20 20 20 20 65 73 61 63 3b 0a 20 20 20 20 6c  .    esac;.    l
b540: 6f 63 61 6c 20 65 75 73 65 72 3d 24 31 3b 0a 20  ocal euser=$1;. 
b550: 20 20 20 73 68 69 66 74 3b 0a 20 20 20 20 69 66     shift;.    if
b560: 20 5b 5b 20 2d 7a 20 24 7b 65 75 73 65 72 7d 20   [[ -z ${euser} 
b570: 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
b580: 20 65 65 72 72 6f 72 20 22 4e 6f 20 75 73 65 72   eerror "No user
b590: 6e 61 6d 65 20 73 70 65 63 69 66 69 65 64 20 21  name specified !
b5a0: 22 3b 0a 20 20 20 20 20 20 20 20 64 69 65 20 22  ";.        die "
b5b0: 43 61 6e 6e 6f 74 20 63 61 6c 6c 20 65 6e 65 77  Cannot call enew
b5c0: 75 73 65 72 20 77 69 74 68 6f 75 74 20 61 20 75  user without a u
b5d0: 73 65 72 6e 61 6d 65 22 3b 0a 20 20 20 20 66 69  sername";.    fi
b5e0: 3b 0a 20 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24  ;.    if [[ -n $
b5f0: 28 65 67 65 74 65 6e 74 20 70 61 73 73 77 64 20  (egetent passwd 
b600: 22 24 7b 65 75 73 65 72 7d 22 29 20 5d 5d 3b 20  "${euser}") ]]; 
b610: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 72 65 74  then.        ret
b620: 75 72 6e 20 30 3b 0a 20 20 20 20 66 69 3b 0a 20  urn 0;.    fi;. 
b630: 20 20 20 65 69 6e 66 6f 20 22 41 64 64 69 6e 67     einfo "Adding
b640: 20 75 73 65 72 20 27 24 7b 65 75 73 65 72 7d 27   user '${euser}'
b650: 20 74 6f 20 79 6f 75 72 20 73 79 73 74 65 6d 20   to your system 
b660: 2e 2e 2e 22 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  ...";.    local 
b670: 6f 70 74 73 3d 3b 0a 20 20 20 20 6c 6f 63 61 6c  opts=;.    local
b680: 20 65 75 69 64 3d 24 31 3b 0a 20 20 20 20 73 68   euid=$1;.    sh
b690: 69 66 74 3b 0a 20 20 20 20 69 66 20 5b 5b 20 2d  ift;.    if [[ -
b6a0: 6e 20 24 7b 65 75 69 64 7d 20 26 26 20 24 7b 65  n ${euid} && ${e
b6b0: 75 69 64 7d 20 21 3d 20 2d 31 20 5d 5d 3b 20 74  uid} != -1 ]]; t
b6c0: 68 65 6e 0a 20 20 20 20 20 20 20 20 69 66 20 5b  hen.        if [
b6d0: 5b 20 24 7b 65 75 69 64 7d 20 2d 67 74 20 30 20  [ ${euid} -gt 0 
b6e0: 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
b6f0: 20 20 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24 28       if [[ -n $(
b700: 65 67 65 74 65 6e 74 20 70 61 73 73 77 64 20 24  egetent passwd $
b710: 7b 65 75 69 64 7d 29 20 5d 5d 3b 20 74 68 65 6e  {euid}) ]]; then
b720: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
b730: 20 65 75 69 64 3d 22 6e 65 78 74 22 3b 0a 20 20   euid="next";.  
b740: 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20            fi;.  
b750: 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
b760: 20 20 20 20 20 20 20 65 65 72 72 6f 72 20 22 55         eerror "U
b770: 73 65 72 69 64 20 67 69 76 65 6e 20 62 75 74 20  serid given but 
b780: 69 73 20 6e 6f 74 20 67 72 65 61 74 65 72 20 74  is not greater t
b790: 68 61 6e 20 30 20 21 22 3b 0a 20 20 20 20 20 20  han 0 !";.      
b7a0: 20 20 20 20 20 20 64 69 65 20 22 24 7b 65 75 69        die "${eui
b7b0: 64 7d 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69  d} is not a vali
b7c0: 64 20 55 49 44 22 3b 0a 20 20 20 20 20 20 20 20  d UID";.        
b7d0: 66 69 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20  fi;.    else.   
b7e0: 20 20 20 20 20 65 75 69 64 3d 22 6e 65 78 74 22       euid="next"
b7f0: 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 69 66  ;.    fi;.    if
b800: 20 5b 5b 20 24 7b 65 75 69 64 7d 20 3d 3d 20 22   [[ ${euid} == "
b810: 6e 65 78 74 22 20 5d 5d 3b 20 74 68 65 6e 0a 20  next" ]]; then. 
b820: 20 20 20 20 20 20 20 66 6f 72 20 28 28 65 75 69         for ((eui
b830: 64 20 3d 20 31 30 31 3b 20 65 75 69 64 20 3c 3d  d = 101; euid <=
b840: 20 39 39 39 3b 20 65 75 69 64 2b 2b 29 29 0a 20   999; euid++)). 
b850: 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20         do.      
b860: 20 20 20 20 20 20 5b 5b 20 2d 7a 20 24 28 65 67        [[ -z $(eg
b870: 65 74 65 6e 74 20 70 61 73 73 77 64 20 24 7b 65  etent passwd ${e
b880: 75 69 64 7d 29 20 5d 5d 20 26 26 20 62 72 65 61  uid}) ]] && brea
b890: 6b 3b 0a 20 20 20 20 20 20 20 20 64 6f 6e 65 3b  k;.        done;
b8a0: 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 6f 70 74  .    fi;.    opt
b8b0: 73 3d 22 24 7b 6f 70 74 73 7d 20 2d 75 20 24 7b  s="${opts} -u ${
b8c0: 65 75 69 64 7d 22 3b 0a 20 20 20 20 65 69 6e 66  euid}";.    einf
b8d0: 6f 20 22 20 2d 20 55 73 65 72 69 64 3a 20 24 7b  o " - Userid: ${
b8e0: 65 75 69 64 7d 22 3b 0a 20 20 20 20 6c 6f 63 61  euid}";.    loca
b8f0: 6c 20 65 73 68 65 6c 6c 3d 24 31 3b 0a 20 20 20  l eshell=$1;.   
b900: 20 73 68 69 66 74 3b 0a 20 20 20 20 69 66 20 5b   shift;.    if [
b910: 5b 20 21 20 2d 7a 20 24 7b 65 73 68 65 6c 6c 7d  [ ! -z ${eshell}
b920: 20 5d 5d 20 26 26 20 5b 5b 20 24 7b 65 73 68 65   ]] && [[ ${eshe
b930: 6c 6c 7d 20 21 3d 20 22 2d 31 22 20 5d 5d 3b 20  ll} != "-1" ]]; 
b940: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 69 66 20  then.        if 
b950: 5b 5b 20 21 20 2d 65 20 24 7b 52 4f 4f 54 7d 24  [[ ! -e ${ROOT}$
b960: 7b 65 73 68 65 6c 6c 7d 20 5d 5d 3b 20 74 68 65  {eshell} ]]; the
b970: 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 65  n.            ee
b980: 72 72 6f 72 20 22 41 20 73 68 65 6c 6c 20 77 61  rror "A shell wa
b990: 73 20 73 70 65 63 69 66 69 65 64 20 62 75 74 20  s specified but 
b9a0: 69 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73  it does not exis
b9b0: 74 20 21 22 3b 0a 20 20 20 20 20 20 20 20 20 20  t !";.          
b9c0: 20 20 64 69 65 20 22 24 7b 65 73 68 65 6c 6c 7d    die "${eshell}
b9d0: 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20   does not exist 
b9e0: 69 6e 20 24 7b 52 4f 4f 54 7d 22 3b 0a 20 20 20  in ${ROOT}";.   
b9f0: 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20       fi;.       
ba00: 20 69 66 20 5b 5b 20 24 7b 65 73 68 65 6c 6c 7d   if [[ ${eshell}
ba10: 20 3d 3d 20 2a 2f 66 61 6c 73 65 20 7c 7c 20 24   == */false || $
ba20: 7b 65 73 68 65 6c 6c 7d 20 3d 3d 20 2a 2f 6e 6f  {eshell} == */no
ba30: 6c 6f 67 69 6e 20 5d 5d 3b 20 74 68 65 6e 0a 20  login ]]; then. 
ba40: 20 20 20 20 20 20 20 20 20 20 20 65 65 72 72 6f             eerro
ba50: 72 20 22 44 6f 20 6e 6f 74 20 73 70 65 63 69 66  r "Do not specif
ba60: 79 20 24 7b 65 73 68 65 6c 6c 7d 20 79 6f 75 72  y ${eshell} your
ba70: 73 65 6c 66 2c 20 75 73 65 20 2d 31 22 3b 0a 20  self, use -1";. 
ba80: 20 20 20 20 20 20 20 20 20 20 20 64 69 65 20 22             die "
ba90: 50 61 73 73 20 27 2d 31 27 20 61 73 20 74 68 65  Pass '-1' as the
baa0: 20 73 68 65 6c 6c 20 70 61 72 61 6d 65 74 65 72   shell parameter
bab0: 22 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20  ";.        fi;. 
bac0: 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20     else.        
bad0: 66 6f 72 20 73 68 65 6c 6c 20 69 6e 20 2f 73 62  for shell in /sb
bae0: 69 6e 2f 6e 6f 6c 6f 67 69 6e 20 2f 75 73 72 2f  in/nologin /usr/
baf0: 73 62 69 6e 2f 6e 6f 6c 6f 67 69 6e 20 2f 62 69  sbin/nologin /bi
bb00: 6e 2f 66 61 6c 73 65 20 2f 75 73 72 2f 62 69 6e  n/false /usr/bin
bb10: 2f 66 61 6c 73 65 20 2f 64 65 76 2f 6e 75 6c 6c  /false /dev/null
bb20: 3b 0a 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20  ;.        do.   
bb30: 20 20 20 20 20 20 20 20 20 5b 5b 20 2d 78 20 24           [[ -x $
bb40: 7b 52 4f 4f 54 7d 24 7b 73 68 65 6c 6c 7d 20 5d  {ROOT}${shell} ]
bb50: 5d 20 26 26 20 62 72 65 61 6b 3b 0a 20 20 20 20  ] && break;.    
bb60: 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 20 20      done;.      
bb70: 20 20 69 66 20 5b 5b 20 24 7b 73 68 65 6c 6c 7d    if [[ ${shell}
bb80: 20 3d 3d 20 22 2f 64 65 76 2f 6e 75 6c 6c 22 20   == "/dev/null" 
bb90: 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
bba0: 20 20 20 20 20 65 65 72 72 6f 72 20 22 55 6e 61       eerror "Una
bbb0: 62 6c 65 20 74 6f 20 69 64 65 6e 74 69 66 79 20  ble to identify 
bbc0: 74 68 65 20 73 68 65 6c 6c 20 74 6f 20 75 73 65  the shell to use
bbd0: 2c 20 70 72 6f 63 65 65 64 69 6e 67 20 77 69 74  , proceeding wit
bbe0: 68 20 75 73 65 72 6c 61 6e 64 20 64 65 66 61 75  h userland defau
bbf0: 6c 74 2e 22 3b 0a 20 20 20 20 20 20 20 20 20 20  lt.";.          
bc00: 20 20 63 61 73 65 20 24 7b 55 53 45 52 4c 41 4e    case ${USERLAN
bc10: 44 7d 20 69 6e 20 0a 20 20 20 20 20 20 20 20 20  D} in .         
bc20: 20 20 20 20 20 20 20 47 4e 55 29 0a 20 20 20 20         GNU).    
bc30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
bc40: 73 68 65 6c 6c 3d 22 2f 62 69 6e 2f 66 61 6c 73  shell="/bin/fals
bc50: 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  e".             
bc60: 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
bc70: 20 20 20 20 20 20 42 53 44 29 0a 20 20 20 20 20        BSD).     
bc80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73                 s
bc90: 68 65 6c 6c 3d 22 2f 73 62 69 6e 2f 6e 6f 6c 6f  hell="/sbin/nolo
bca0: 67 69 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20  gin".           
bcb0: 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
bcc0: 20 20 20 20 20 20 20 20 44 61 72 77 69 6e 29 0a          Darwin).
bcd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
bce0: 20 20 20 20 73 68 65 6c 6c 3d 22 2f 75 73 72 2f      shell="/usr/
bcf0: 73 62 69 6e 2f 6e 6f 6c 6f 67 69 6e 22 0a 20 20  sbin/nologin".  
bd00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b                ;;
bd10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
bd20: 20 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20   *).            
bd30: 20 20 20 20 20 20 20 20 64 69 65 20 22 55 6e 61          die "Una
bd40: 62 6c 65 20 74 6f 20 69 64 65 6e 74 69 66 79 20  ble to identify 
bd50: 74 68 65 20 64 65 66 61 75 6c 74 20 73 68 65 6c  the default shel
bd60: 6c 20 66 6f 72 20 75 73 65 72 6c 61 6e 64 20 24  l for userland $
bd70: 7b 55 53 45 52 4c 41 4e 44 7d 22 0a 20 20 20 20  {USERLAND}".    
bd80: 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
bd90: 20 20 20 20 20 20 20 20 20 20 20 65 73 61 63 3b             esac;
bda0: 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20  .        fi;.   
bdb0: 20 20 20 20 20 65 73 68 65 6c 6c 3d 24 7b 73 68       eshell=${sh
bdc0: 65 6c 6c 7d 3b 0a 20 20 20 20 66 69 3b 0a 20 20  ell};.    fi;.  
bdd0: 20 20 65 69 6e 66 6f 20 22 20 2d 20 53 68 65 6c    einfo " - Shel
bde0: 6c 3a 20 24 7b 65 73 68 65 6c 6c 7d 22 3b 0a 20  l: ${eshell}";. 
bdf0: 20 20 20 6f 70 74 73 3d 22 24 7b 6f 70 74 73 7d     opts="${opts}
be00: 20 2d 73 20 24 7b 65 73 68 65 6c 6c 7d 22 3b 0a   -s ${eshell}";.
be10: 20 20 20 20 6c 6f 63 61 6c 20 65 68 6f 6d 65 3d      local ehome=
be20: 24 31 3b 0a 20 20 20 20 73 68 69 66 74 3b 0a 20  $1;.    shift;. 
be30: 20 20 20 69 66 20 5b 5b 20 2d 7a 20 24 7b 65 68     if [[ -z ${eh
be40: 6f 6d 65 7d 20 5d 5d 20 7c 7c 20 5b 5b 20 24 7b  ome} ]] || [[ ${
be50: 65 68 6f 6d 65 7d 20 3d 3d 20 22 2d 31 22 20 5d  ehome} == "-1" ]
be60: 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  ]; then.        
be70: 65 68 6f 6d 65 3d 22 2f 64 65 76 2f 6e 75 6c 6c  ehome="/dev/null
be80: 22 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 65  ";.    fi;.    e
be90: 69 6e 66 6f 20 22 20 2d 20 48 6f 6d 65 3a 20 24  info " - Home: $
bea0: 7b 65 68 6f 6d 65 7d 22 3b 0a 20 20 20 20 6f 70  {ehome}";.    op
beb0: 74 73 3d 22 24 7b 6f 70 74 73 7d 20 2d 64 20 24  ts="${opts} -d $
bec0: 7b 65 68 6f 6d 65 7d 22 3b 0a 20 20 20 20 6c 6f  {ehome}";.    lo
bed0: 63 61 6c 20 65 67 72 6f 75 70 73 3d 24 31 3b 0a  cal egroups=$1;.
bee0: 20 20 20 20 73 68 69 66 74 3b 0a 20 20 20 20 69      shift;.    i
bef0: 66 20 5b 5b 20 21 20 2d 7a 20 24 7b 65 67 72 6f  f [[ ! -z ${egro
bf00: 75 70 73 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  ups} ]]; then.  
bf10: 20 20 20 20 20 20 6c 6f 63 61 6c 20 6f 6c 64 69        local oldi
bf20: 66 73 3d 24 7b 49 46 53 7d 3b 0a 20 20 20 20 20  fs=${IFS};.     
bf30: 20 20 20 6c 6f 63 61 6c 20 64 65 66 67 72 6f 75     local defgrou
bf40: 70 3d 22 22 20 65 78 67 72 6f 75 70 73 3d 22 22  p="" exgroups=""
bf50: 3b 0a 20 20 20 20 20 20 20 20 65 78 70 6f 72 74  ;.        export
bf60: 20 49 46 53 3d 22 2c 22 3b 0a 20 20 20 20 20 20   IFS=",";.      
bf70: 20 20 66 6f 72 20 67 20 69 6e 20 24 7b 65 67 72    for g in ${egr
bf80: 6f 75 70 73 7d 3b 0a 20 20 20 20 20 20 20 20 64  oups};.        d
bf90: 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78  o.            ex
bfa0: 70 6f 72 74 20 49 46 53 3d 24 7b 6f 6c 64 69 66  port IFS=${oldif
bfb0: 73 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  s};.            
bfc0: 69 66 20 5b 5b 20 2d 7a 20 24 28 65 67 65 74 65  if [[ -z $(egete
bfd0: 6e 74 20 67 72 6f 75 70 20 22 24 7b 67 7d 22 29  nt group "${g}")
bfe0: 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20   ]]; then.      
bff0: 20 20 20 20 20 20 20 20 20 20 65 65 72 72 6f 72            eerror
c000: 20 22 59 6f 75 20 6d 75 73 74 20 61 64 64 20 67   "You must add g
c010: 72 6f 75 70 20 24 7b 67 7d 20 74 6f 20 74 68 65  roup ${g} to the
c020: 20 73 79 73 74 65 6d 20 66 69 72 73 74 22 3b 0a   system first";.
c030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c040: 64 69 65 20 22 24 7b 67 7d 20 69 73 20 6e 6f 74  die "${g} is not
c050: 20 61 20 76 61 6c 69 64 20 47 49 44 22 3b 0a 20   a valid GID";. 
c060: 20 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20             fi;. 
c070: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b             if [[
c080: 20 2d 7a 20 24 7b 64 65 66 67 72 6f 75 70 7d 20   -z ${defgroup} 
c090: 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
c0a0: 20 20 20 20 20 20 20 20 20 64 65 66 67 72 6f 75           defgrou
c0b0: 70 3d 24 7b 67 7d 3b 0a 20 20 20 20 20 20 20 20  p=${g};.        
c0c0: 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20      else.       
c0d0: 20 20 20 20 20 20 20 20 20 65 78 67 72 6f 75 70           exgroup
c0e0: 73 3d 22 24 7b 65 78 67 72 6f 75 70 73 7d 2c 24  s="${exgroups},$
c0f0: 7b 67 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20  {g}";.          
c100: 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20    fi;.          
c110: 20 20 65 78 70 6f 72 74 20 49 46 53 3d 22 2c 22    export IFS=","
c120: 3b 0a 20 20 20 20 20 20 20 20 64 6f 6e 65 3b 0a  ;.        done;.
c130: 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20 49          export I
c140: 46 53 3d 24 7b 6f 6c 64 69 66 73 7d 3b 0a 20 20  FS=${oldifs};.  
c150: 20 20 20 20 20 20 6f 70 74 73 3d 22 24 7b 6f 70        opts="${op
c160: 74 73 7d 20 2d 67 20 24 7b 64 65 66 67 72 6f 75  ts} -g ${defgrou
c170: 70 7d 22 3b 0a 20 20 20 20 20 20 20 20 69 66 20  p}";.        if 
c180: 5b 5b 20 21 20 2d 7a 20 24 7b 65 78 67 72 6f 75  [[ ! -z ${exgrou
c190: 70 73 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  ps} ]]; then.   
c1a0: 20 20 20 20 20 20 20 20 20 6f 70 74 73 3d 22 24           opts="$
c1b0: 7b 6f 70 74 73 7d 20 2d 47 20 24 7b 65 78 67 72  {opts} -G ${exgr
c1c0: 6f 75 70 73 3a 31 7d 22 3b 0a 20 20 20 20 20 20  oups:1}";.      
c1d0: 20 20 66 69 3b 0a 20 20 20 20 65 6c 73 65 0a 20    fi;.    else. 
c1e0: 20 20 20 20 20 20 20 65 67 72 6f 75 70 73 3d 22         egroups="
c1f0: 28 6e 6f 6e 65 29 22 3b 0a 20 20 20 20 66 69 3b  (none)";.    fi;
c200: 0a 20 20 20 20 65 69 6e 66 6f 20 22 20 2d 20 47  .    einfo " - G
c210: 72 6f 75 70 73 3a 20 24 7b 65 67 72 6f 75 70 73  roups: ${egroups
c220: 7d 22 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 6f 6c  }";.    local ol
c230: 64 73 61 6e 64 62 6f 78 3d 24 7b 53 41 4e 44 42  dsandbox=${SANDB
c240: 4f 58 5f 4f 4e 7d 3b 0a 20 20 20 20 65 78 70 6f  OX_ON};.    expo
c250: 72 74 20 53 41 4e 44 42 4f 58 5f 4f 4e 3d 22 30  rt SANDBOX_ON="0
c260: 22 3b 0a 20 20 20 20 63 61 73 65 20 24 7b 43 48  ";.    case ${CH
c270: 4f 53 54 7d 20 69 6e 20 0a 20 20 20 20 20 20 20  OST} in .       
c280: 20 2a 2d 64 61 72 77 69 6e 2a 29 0a 20 20 20 20   *-darwin*).    
c290: 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 2d 7a          if [[ -z
c2a0: 20 24 40 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20   $@ ]]; then.   
c2b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 73 63               dsc
c2c0: 6c 20 2e 20 63 72 65 61 74 65 20 2f 75 73 65 72  l . create /user
c2d0: 73 2f 24 7b 65 75 73 65 72 7d 20 75 69 64 20 24  s/${euser} uid $
c2e0: 7b 65 75 69 64 7d 3b 0a 20 20 20 20 20 20 20 20  {euid};.        
c2f0: 20 20 20 20 20 20 20 20 64 73 63 6c 20 2e 20 63          dscl . c
c300: 72 65 61 74 65 20 2f 75 73 65 72 73 2f 24 7b 65  reate /users/${e
c310: 75 73 65 72 7d 20 73 68 65 6c 6c 20 24 7b 65 73  user} shell ${es
c320: 68 65 6c 6c 7d 3b 0a 20 20 20 20 20 20 20 20 20  hell};.         
c330: 20 20 20 20 20 20 20 64 73 63 6c 20 2e 20 63 72         dscl . cr
c340: 65 61 74 65 20 2f 75 73 65 72 73 2f 24 7b 65 75  eate /users/${eu
c350: 73 65 72 7d 20 68 6f 6d 65 20 24 7b 65 68 6f 6d  ser} home ${ehom
c360: 65 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  e};.            
c370: 20 20 20 20 64 73 63 6c 20 2e 20 63 72 65 61 74      dscl . creat
c380: 65 20 2f 75 73 65 72 73 2f 24 7b 65 75 73 65 72  e /users/${euser
c390: 7d 20 72 65 61 6c 6e 61 6d 65 20 22 61 64 64 65  } realname "adde
c3a0: 64 20 62 79 20 70 6f 72 74 61 67 65 20 66 6f 72  d by portage for
c3b0: 20 24 7b 50 4e 7d 22 3b 0a 20 20 20 20 20 20 20   ${PN}";.       
c3c0: 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 6f           local o
c3d0: 6c 64 69 66 73 3d 24 7b 49 46 53 7d 3b 0a 20 20  ldifs=${IFS};.  
c3e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78                ex
c3f0: 70 6f 72 74 20 49 46 53 3d 22 2c 22 3b 0a 20 20  port IFS=",";.  
c400: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
c410: 72 20 67 20 69 6e 20 24 7b 65 67 72 6f 75 70 73  r g in ${egroups
c420: 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  };.             
c430: 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20     do.          
c440: 20 20 20 20 20 20 20 20 20 20 64 73 63 6c 20 2e            dscl .
c450: 20 6d 65 72 67 65 20 2f 67 72 6f 75 70 73 2f 24   merge /groups/$
c460: 7b 67 7d 20 75 73 65 72 73 20 24 7b 65 75 73 65  {g} users ${euse
c470: 72 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  r};.            
c480: 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 20 20      done;.      
c490: 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74            export
c4a0: 20 49 46 53 3d 24 7b 6f 6c 64 69 66 73 7d 3b 0a   IFS=${oldifs};.
c4b0: 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65              else
c4c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
c4d0: 20 65 69 6e 66 6f 20 22 45 78 74 72 61 20 6f 70   einfo "Extra op
c4e0: 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 73 75  tions are not su
c4f0: 70 70 6f 72 74 65 64 20 6f 6e 20 44 61 72 77 69  pported on Darwi
c500: 6e 20 79 65 74 22 3b 0a 20 20 20 20 20 20 20 20  n yet";.        
c510: 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22 50          einfo "P
c520: 6c 65 61 73 65 20 72 65 70 6f 72 74 20 74 68 65  lease report the
c530: 20 65 62 75 69 6c 64 20 61 6c 6f 6e 67 20 77 69   ebuild along wi
c540: 74 68 20 74 68 65 20 69 6e 66 6f 20 62 65 6c 6f  th the info belo
c550: 77 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  w";.            
c560: 20 20 20 20 65 69 6e 66 6f 20 22 65 65 78 74 72      einfo "eextr
c570: 61 3a 20 24 40 22 3b 0a 20 20 20 20 20 20 20 20  a: $@";.        
c580: 20 20 20 20 20 20 20 20 64 69 65 20 22 52 65 71          die "Req
c590: 75 69 72 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d  uired function m
c5a0: 69 73 73 69 6e 67 22 3b 0a 20 20 20 20 20 20 20  issing";.       
c5b0: 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20 20       fi.        
c5c0: 3b 3b 0a 20 20 20 20 20 20 20 20 2a 2d 66 72 65  ;;.        *-fre
c5d0: 65 62 73 64 2a 20 7c 20 2a 2d 64 72 61 67 6f 6e  ebsd* | *-dragon
c5e0: 66 6c 79 2a 29 0a 20 20 20 20 20 20 20 20 20 20  fly*).          
c5f0: 20 20 69 66 20 5b 5b 20 2d 7a 20 24 40 20 5d 5d    if [[ -z $@ ]]
c600: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
c610: 20 20 20 20 20 20 20 70 77 20 75 73 65 72 61 64         pw userad
c620: 64 20 24 7b 65 75 73 65 72 7d 20 24 7b 6f 70 74  d ${euser} ${opt
c630: 73 7d 20 2d 63 20 22 61 64 64 65 64 20 62 79 20  s} -c "added by 
c640: 70 6f 72 74 61 67 65 20 66 6f 72 20 24 7b 50 4e  portage for ${PN
c650: 7d 22 20 64 69 65 20 22 65 6e 65 77 75 73 65 72  }" die "enewuser
c660: 20 66 61 69 6c 65 64 22 3b 0a 20 20 20 20 20 20   failed";.      
c670: 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
c680: 20 20 20 20 20 20 20 20 20 20 20 65 69 6e 66 6f             einfo
c690: 20 22 20 2d 20 45 78 74 72 61 3a 20 24 40 22 3b   " - Extra: $@";
c6a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
c6b0: 20 70 77 20 75 73 65 72 61 64 64 20 24 7b 65 75   pw useradd ${eu
c6c0: 73 65 72 7d 20 24 7b 6f 70 74 73 7d 20 22 24 40  ser} ${opts} "$@
c6d0: 22 20 7c 7c 20 64 69 65 20 22 65 6e 65 77 75 73  " || die "enewus
c6e0: 65 72 20 66 61 69 6c 65 64 22 3b 0a 20 20 20 20  er failed";.    
c6f0: 20 20 20 20 20 20 20 20 66 69 0a 20 20 20 20 20          fi.     
c700: 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 2a 2d     ;;.        *-
c710: 6e 65 74 62 73 64 2a 29 0a 20 20 20 20 20 20 20  netbsd*).       
c720: 20 20 20 20 20 69 66 20 5b 5b 20 2d 7a 20 24 40       if [[ -z $@
c730: 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20   ]]; then.      
c740: 20 20 20 20 20 20 20 20 20 20 75 73 65 72 61 64            userad
c750: 64 20 24 7b 6f 70 74 73 7d 20 24 7b 65 75 73 65  d ${opts} ${euse
c760: 72 7d 20 7c 7c 20 64 69 65 20 22 65 6e 65 77 75  r} || die "enewu
c770: 73 65 72 20 66 61 69 6c 65 64 22 3b 0a 20 20 20  ser failed";.   
c780: 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20           else.  
c790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69                ei
c7a0: 6e 66 6f 20 22 20 2d 20 45 78 74 72 61 3a 20 24  nfo " - Extra: $
c7b0: 40 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  @";.            
c7c0: 20 20 20 20 75 73 65 72 61 64 64 20 24 7b 6f 70      useradd ${op
c7d0: 74 73 7d 20 24 7b 65 75 73 65 72 7d 20 22 24 40  ts} ${euser} "$@
c7e0: 22 20 7c 7c 20 64 69 65 20 22 65 6e 65 77 75 73  " || die "enewus
c7f0: 65 72 20 66 61 69 6c 65 64 22 3b 0a 20 20 20 20  er failed";.    
c800: 20 20 20 20 20 20 20 20 66 69 0a 20 20 20 20 20          fi.     
c810: 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 2a 2d     ;;.        *-
c820: 6f 70 65 6e 62 73 64 2a 29 0a 20 20 20 20 20 20  openbsd*).      
c830: 20 20 20 20 20 20 69 66 20 5b 5b 20 2d 7a 20 24        if [[ -z $
c840: 40 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  @ ]]; then.     
c850: 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 61             usera
c860: 64 64 20 2d 75 20 24 7b 65 75 69 64 7d 20 2d 73  dd -u ${euid} -s
c870: 20 24 7b 65 73 68 65 6c 6c 7d 20 2d 64 20 24 7b   ${eshell} -d ${
c880: 65 68 6f 6d 65 7d 20 2d 63 20 22 41 64 64 65 64  ehome} -c "Added
c890: 20 62 79 20 70 6f 72 74 61 67 65 20 66 6f 72 20   by portage for 
c8a0: 24 7b 50 4e 7d 22 20 2d 67 20 24 7b 65 67 72 6f  ${PN}" -g ${egro
c8b0: 75 70 73 7d 20 24 7b 65 75 73 65 72 7d 20 7c 7c  ups} ${euser} ||
c8c0: 20 64 69 65 20 22 65 6e 65 77 75 73 65 72 20 66   die "enewuser f
c8d0: 61 69 6c 65 64 22 3b 0a 20 20 20 20 20 20 20 20  ailed";.        
c8e0: 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20      else.       
c8f0: 20 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22           einfo "
c900: 20 2d 20 45 78 74 72 61 3a 20 24 40 22 3b 0a 20   - Extra: $@";. 
c910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75                 u
c920: 73 65 72 61 64 64 20 2d 75 20 24 7b 65 75 69 64  seradd -u ${euid
c930: 7d 20 2d 73 20 24 7b 65 73 68 65 6c 6c 7d 20 2d  } -s ${eshell} -
c940: 64 20 24 7b 65 68 6f 6d 65 7d 20 2d 63 20 22 41  d ${ehome} -c "A
c950: 64 64 65 64 20 62 79 20 70 6f 72 74 61 67 65 20  dded by portage 
c960: 66 6f 72 20 24 7b 50 4e 7d 22 20 2d 67 20 24 7b  for ${PN}" -g ${
c970: 65 67 72 6f 75 70 73 7d 20 24 7b 65 75 73 65 72  egroups} ${euser
c980: 7d 20 22 24 40 22 20 7c 7c 20 64 69 65 20 22 65  } "$@" || die "e
c990: 6e 65 77 75 73 65 72 20 66 61 69 6c 65 64 22 3b  newuser failed";
c9a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 0a  .            fi.
c9b0: 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20          ;;.     
c9c0: 20 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20 20     *).          
c9d0: 20 20 69 66 20 5b 5b 20 2d 7a 20 24 40 20 5d 5d    if [[ -z $@ ]]
c9e0: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
c9f0: 20 20 20 20 20 20 20 75 73 65 72 61 64 64 20 24         useradd $
ca00: 7b 6f 70 74 73 7d 20 24 7b 65 75 73 65 72 7d 20  {opts} ${euser} 
ca10: 2d 63 20 22 61 64 64 65 64 20 62 79 20 70 6f 72  -c "added by por
ca20: 74 61 67 65 20 66 6f 72 20 24 7b 50 4e 7d 22 20  tage for ${PN}" 
ca30: 7c 7c 20 64 69 65 20 22 65 6e 65 77 75 73 65 72  || die "enewuser
ca40: 20 66 61 69 6c 65 64 22 3b 0a 20 20 20 20 20 20   failed";.      
ca50: 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
ca60: 20 20 20 20 20 20 20 20 20 20 20 65 69 6e 66 6f             einfo
ca70: 20 22 20 2d 20 45 78 74 72 61 3a 20 24 40 22 3b   " - Extra: $@";
ca80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
ca90: 20 75 73 65 72 61 64 64 20 24 7b 6f 70 74 73 7d   useradd ${opts}
caa0: 20 24 7b 65 75 73 65 72 7d 20 22 24 40 22 20 7c   ${euser} "$@" |
cab0: 7c 20 64 69 65 20 22 65 6e 65 77 75 73 65 72 20  | die "enewuser 
cac0: 66 61 69 6c 65 64 22 3b 0a 20 20 20 20 20 20 20  failed";.       
cad0: 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20 20       fi.        
cae0: 3b 3b 0a 20 20 20 20 65 73 61 63 3b 0a 20 20 20  ;;.    esac;.   
caf0: 20 69 66 20 5b 5b 20 21 20 2d 65 20 24 7b 52 4f   if [[ ! -e ${RO
cb00: 4f 54 7d 2f 24 7b 65 68 6f 6d 65 7d 20 5d 5d 3b  OT}/${ehome} ]];
cb10: 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 65 69   then.        ei
cb20: 6e 66 6f 20 22 20 2d 20 43 72 65 61 74 69 6e 67  nfo " - Creating
cb30: 20 24 7b 65 68 6f 6d 65 7d 20 69 6e 20 24 7b 52   ${ehome} in ${R
cb40: 4f 4f 54 7d 22 3b 0a 20 20 20 20 20 20 20 20 6d  OOT}";.        m
cb50: 6b 64 69 72 20 2d 70 20 22 24 7b 52 4f 4f 54 7d  kdir -p "${ROOT}
cb60: 2f 24 7b 65 68 6f 6d 65 7d 22 3b 0a 20 20 20 20  /${ehome}";.    
cb70: 20 20 20 20 63 68 6f 77 6e 20 24 7b 65 75 73 65      chown ${euse
cb80: 72 7d 20 22 24 7b 52 4f 4f 54 7d 2f 24 7b 65 68  r} "${ROOT}/${eh
cb90: 6f 6d 65 7d 22 3b 0a 20 20 20 20 20 20 20 20 63  ome}";.        c
cba0: 68 6d 6f 64 20 37 35 35 20 22 24 7b 52 4f 4f 54  hmod 755 "${ROOT
cbb0: 7d 2f 24 7b 65 68 6f 6d 65 7d 22 3b 0a 20 20 20  }/${ehome}";.   
cbc0: 20 66 69 3b 0a 20 20 20 20 65 78 70 6f 72 74 20   fi;.    export 
cbd0: 53 41 4e 44 42 4f 58 5f 4f 4e 3d 24 7b 6f 6c 64  SANDBOX_ON=${old
cbe0: 73 61 6e 64 62 6f 78 7d 0a 7d 0a 65 70 61 74 63  sandbox}.}.epatc
cbf0: 68 20 28 29 20 0a 7b 20 0a 20 20 20 20 66 75 6e  h () .{ .    fun
cc00: 63 74 69 6f 6e 20 5f 65 70 61 74 63 68 5f 64 72  ction _epatch_dr
cc10: 61 77 5f 6c 69 6e 65 20 28 29 20 0a 20 20 20 20  aw_line () .    
cc20: 7b 20 0a 20 20 20 20 20 20 20 20 5b 5b 20 2d 7a  { .        [[ -z
cc30: 20 24 31 20 5d 5d 20 26 26 20 73 65 74 20 22 24   $1 ]] && set "$
cc40: 28 70 72 69 6e 74 66 20 22 25 36 35 73 22 20 27  (printf "%65s" '
cc50: 27 29 22 3b 0a 20 20 20 20 20 20 20 20 65 63 68  ')";.        ech
cc60: 6f 20 22 24 7b 31 2f 2f 3f 2f 3d 7d 22 0a 20 20  o "${1//?/=}".  
cc70: 20 20 7d 3b 0a 20 20 20 20 66 75 6e 63 74 69 6f    };.    functio
cc80: 6e 20 5f 65 70 61 74 63 68 5f 61 73 73 65 72 74  n _epatch_assert
cc90: 20 28 29 20 0a 20 20 20 20 7b 20 0a 20 20 20 20   () .    { .    
cca0: 20 20 20 20 6c 6f 63 61 6c 20 5f 70 69 70 65 73      local _pipes
ccb0: 74 61 74 75 73 3d 24 7b 50 49 50 45 53 54 41 54  tatus=${PIPESTAT
ccc0: 55 53 5b 2a 5d 7d 3b 0a 20 20 20 20 20 20 20 20  US[*]};.        
ccd0: 5b 5b 20 24 7b 5f 70 69 70 65 73 74 61 74 75 73  [[ ${_pipestatus
cce0: 2f 2f 20 2f 7d 20 2d 65 71 20 30 20 5d 5d 0a 20  // /} -eq 0 ]]. 
ccf0: 20 20 20 7d 3b 0a 20 20 20 20 6c 6f 63 61 6c 20     };.    local 
cd00: 50 49 50 45 5f 43 4d 44 3d 22 22 3b 0a 20 20 20  PIPE_CMD="";.   
cd10: 20 6c 6f 63 61 6c 20 53 54 44 45 52 52 5f 54 41   local STDERR_TA
cd20: 52 47 45 54 3d 22 24 7b 54 7d 2f 24 24 2e 6f 75  RGET="${T}/$$.ou
cd30: 74 22 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 50 41  t";.    local PA
cd40: 54 43 48 5f 54 41 52 47 45 54 3d 22 24 7b 54 7d  TCH_TARGET="${T}
cd50: 2f 24 24 2e 70 61 74 63 68 22 3b 0a 20 20 20 20  /$$.patch";.    
cd60: 6c 6f 63 61 6c 20 50 41 54 43 48 5f 53 55 46 46  local PATCH_SUFF
cd70: 49 58 3d 22 22 3b 0a 20 20 20 20 6c 6f 63 61 6c  IX="";.    local
cd80: 20 53 49 4e 47 4c 45 5f 50 41 54 43 48 3d 22 6e   SINGLE_PATCH="n
cd90: 6f 22 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 78 3d  o";.    local x=
cda0: 22 22 3b 0a 20 20 20 20 75 6e 73 65 74 20 50 34  "";.    unset P4
cdb0: 43 4f 4e 46 49 47 20 50 34 50 4f 52 54 20 50 34  CONFIG P4PORT P4
cdc0: 55 53 45 52 3b 0a 20 20 20 20 69 66 20 5b 20 22  USER;.    if [ "
cdd0: 24 23 22 20 2d 67 74 20 31 20 5d 3b 20 74 68 65  $#" -gt 1 ]; the
cde0: 6e 0a 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20  n.        local 
cdf0: 6d 3d 22 22 3b 0a 20 20 20 20 20 20 20 20 66 6f  m="";.        fo
ce00: 72 20 6d 20 69 6e 20 22 24 40 22 3b 0a 20 20 20  r m in "$@";.   
ce10: 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20       do.        
ce20: 20 20 20 20 65 70 61 74 63 68 20 22 24 7b 6d 7d      epatch "${m}
ce30: 22 3b 0a 20 20 20 20 20 20 20 20 64 6f 6e 65 3b  ";.        done;
ce40: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20  .        return 
ce50: 30 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 69  0;.    fi;.    i
ce60: 66 20 5b 20 2d 6e 20 22 24 31 22 20 2d 61 20 2d  f [ -n "$1" -a -
ce70: 66 20 22 24 31 22 20 5d 3b 20 74 68 65 6e 0a 20  f "$1" ]; then. 
ce80: 20 20 20 20 20 20 20 53 49 4e 47 4c 45 5f 50 41         SINGLE_PA
ce90: 54 43 48 3d 22 79 65 73 22 3b 0a 20 20 20 20 20  TCH="yes";.     
cea0: 20 20 20 6c 6f 63 61 6c 20 45 50 41 54 43 48 5f     local EPATCH_
ceb0: 53 4f 55 52 43 45 3d 22 24 31 22 3b 0a 20 20 20  SOURCE="$1";.   
cec0: 20 20 20 20 20 6c 6f 63 61 6c 20 45 50 41 54 43       local EPATC
ced0: 48 5f 53 55 46 46 49 58 3d 22 24 7b 31 23 23 2a  H_SUFFIX="${1##*
cee0: 5c 2e 7d 22 3b 0a 20 20 20 20 65 6c 73 65 0a 20  \.}";.    else. 
cef0: 20 20 20 20 20 20 20 69 66 20 5b 20 2d 6e 20 22         if [ -n "
cf00: 24 31 22 20 2d 61 20 2d 64 20 22 24 31 22 20 5d  $1" -a -d "$1" ]
cf10: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
cf20: 20 20 20 69 66 20 5b 20 22 24 7b 45 50 41 54 43     if [ "${EPATC
cf30: 48 5f 46 4f 52 43 45 7d 22 20 3d 20 22 79 65 73  H_FORCE}" = "yes
cf40: 22 20 5d 20 26 26 20 5b 20 2d 7a 20 22 24 7b 45  " ] && [ -z "${E
cf50: 50 41 54 43 48 5f 53 55 46 46 49 58 7d 22 20 5d  PATCH_SUFFIX}" ]
cf60: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
cf70: 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 45 50 41         local EPA
cf80: 54 43 48 5f 53 4f 55 52 43 45 3d 22 24 31 2f 2a  TCH_SOURCE="$1/*
cf90: 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  ";.            e
cfa0: 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  lse.            
cfb0: 20 20 20 20 6c 6f 63 61 6c 20 45 50 41 54 43 48      local EPATCH
cfc0: 5f 53 4f 55 52 43 45 3d 22 24 31 2f 2a 2e 24 7b  _SOURCE="$1/*.${
cfd0: 45 50 41 54 43 48 5f 53 55 46 46 49 58 7d 22 3b  EPATCH_SUFFIX}";
cfe0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 3b  .            fi;
cff0: 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20  .        else.  
d000: 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20            if [[ 
d010: 21 20 2d 64 20 24 7b 45 50 41 54 43 48 5f 53 4f  ! -d ${EPATCH_SO
d020: 55 52 43 45 7d 20 5d 5d 20 7c 7c 20 5b 5b 20 2d  URCE} ]] || [[ -
d030: 6e 20 24 31 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  n $1 ]]; then.  
d040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
d050: 20 5b 20 2d 6e 20 22 24 31 22 20 2d 61 20 22 24   [ -n "$1" -a "$
d060: 7b 45 50 41 54 43 48 5f 53 4f 55 52 43 45 7d 22  {EPATCH_SOURCE}"
d070: 20 3d 20 22 24 7b 57 4f 52 4b 44 49 52 7d 2f 70   = "${WORKDIR}/p
d080: 61 74 63 68 22 20 5d 3b 20 74 68 65 6e 0a 20 20  atch" ]; then.  
d090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d0a0: 20 20 45 50 41 54 43 48 5f 53 4f 55 52 43 45 3d    EPATCH_SOURCE=
d0b0: 22 24 31 22 3b 0a 20 20 20 20 20 20 20 20 20 20  "$1";.          
d0c0: 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
d0d0: 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 3b 0a            echo;.
d0e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d0f0: 65 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 66  eerror "Cannot f
d100: 69 6e 64 20 5c 24 45 50 41 54 43 48 5f 53 4f 55  ind \$EPATCH_SOU
d110: 52 43 45 21 20 20 56 61 6c 75 65 20 66 6f 72 20  RCE!  Value for 
d120: 5c 24 45 50 41 54 43 48 5f 53 4f 55 52 43 45 20  \$EPATCH_SOURCE 
d130: 69 73 3a 22 3b 0a 20 20 20 20 20 20 20 20 20 20  is:";.          
d140: 20 20 20 20 20 20 65 65 72 72 6f 72 3b 0a 20 20        eerror;.  
d150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 65                ee
d160: 72 72 6f 72 20 22 20 20 24 7b 45 50 41 54 43 48  rror "  ${EPATCH
d170: 5f 53 4f 55 52 43 45 7d 22 3b 0a 20 20 20 20 20  _SOURCE}";.     
d180: 20 20 20 20 20 20 20 20 20 20 20 65 65 72 72 6f             eerro
d190: 72 20 22 20 20 28 20 24 7b 45 50 41 54 43 48 5f  r "  ( ${EPATCH_
d1a0: 53 4f 55 52 43 45 23 23 2a 2f 7d 20 29 22 3b 0a  SOURCE##*/} )";.
d1b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d1c0: 65 63 68 6f 3b 0a 20 20 20 20 20 20 20 20 20 20  echo;.          
d1d0: 20 20 20 20 20 20 64 69 65 20 22 43 61 6e 6e 6f        die "Canno
d1e0: 74 20 66 69 6e 64 20 5c 24 45 50 41 54 43 48 5f  t find \$EPATCH_
d1f0: 53 4f 55 52 43 45 21 22 3b 0a 20 20 20 20 20 20  SOURCE!";.      
d200: 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
d210: 20 20 20 20 20 20 6c 6f 63 61 6c 20 45 50 41 54        local EPAT
d220: 43 48 5f 53 4f 55 52 43 45 3d 22 24 7b 45 50 41  CH_SOURCE="${EPA
d230: 54 43 48 5f 53 4f 55 52 43 45 7d 2f 2a 2e 24 7b  TCH_SOURCE}/*.${
d240: 45 50 41 54 43 48 5f 53 55 46 46 49 58 7d 22 3b  EPATCH_SUFFIX}";
d250: 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20  .        fi;.   
d260: 20 66 69 3b 0a 20 20 20 20 63 61 73 65 20 24 7b   fi;.    case ${
d270: 45 50 41 54 43 48 5f 53 55 46 46 49 58 23 23 2a  EPATCH_SUFFIX##*
d280: 5c 2e 7d 20 69 6e 20 0a 20 20 20 20 20 20 20 20  \.} in .        
d290: 78 7a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  xz).            
d2a0: 50 49 50 45 5f 43 4d 44 3d 22 78 7a 20 2d 64 63  PIPE_CMD="xz -dc
d2b0: 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 50  ";.            P
d2c0: 41 54 43 48 5f 53 55 46 46 49 58 3d 22 78 7a 22  ATCH_SUFFIX="xz"
d2d0: 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  .        ;;.    
d2e0: 20 20 20 20 6c 7a 6d 61 29 0a 20 20 20 20 20 20      lzma).      
d2f0: 20 20 20 20 20 20 50 49 50 45 5f 43 4d 44 3d 22        PIPE_CMD="
d300: 6c 7a 6d 61 20 2d 64 63 22 3b 0a 20 20 20 20 20  lzma -dc";.     
d310: 20 20 20 20 20 20 20 50 41 54 43 48 5f 53 55 46         PATCH_SUF
d320: 46 49 58 3d 22 6c 7a 6d 61 22 0a 20 20 20 20 20  FIX="lzma".     
d330: 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 62 7a     ;;.        bz
d340: 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 50  2).            P
d350: 49 50 45 5f 43 4d 44 3d 22 62 7a 69 70 32 20 2d  IPE_CMD="bzip2 -
d360: 64 63 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20  dc";.           
d370: 20 50 41 54 43 48 5f 53 55 46 46 49 58 3d 22 62   PATCH_SUFFIX="b
d380: 7a 32 22 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20  z2".        ;;. 
d390: 20 20 20 20 20 20 20 67 7a 20 7c 20 5a 20 7c 20         gz | Z | 
d3a0: 7a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 50  z).            P
d3b0: 49 50 45 5f 43 4d 44 3d 22 67 7a 69 70 20 2d 64  IPE_CMD="gzip -d
d3c0: 63 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  c";.            
d3d0: 50 41 54 43 48 5f 53 55 46 46 49 58 3d 22 67 7a  PATCH_SUFFIX="gz
d3e0: 22 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20  ".        ;;.   
d3f0: 20 20 20 20 20 5a 49 50 20 7c 20 7a 69 70 29 0a       ZIP | zip).
d400: 20 20 20 20 20 20 20 20 20 20 20 20 50 49 50 45              PIPE
d410: 5f 43 4d 44 3d 22 75 6e 7a 69 70 20 2d 70 22 3b  _CMD="unzip -p";
d420: 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 41 54  .            PAT
d430: 43 48 5f 53 55 46 46 49 58 3d 22 7a 69 70 22 0a  CH_SUFFIX="zip".
d440: 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20          ;;.     
d450: 20 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20 20     *).          
d460: 20 20 50 49 50 45 5f 43 4d 44 3d 22 63 61 74 22    PIPE_CMD="cat"
d470: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 41  ;.            PA
d480: 54 43 48 5f 53 55 46 46 49 58 3d 22 70 61 74 63  TCH_SUFFIX="patc
d490: 68 22 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20  h".        ;;.  
d4a0: 20 20 65 73 61 63 3b 0a 20 20 20 20 69 66 20 5b    esac;.    if [
d4b0: 20 22 24 7b 53 49 4e 47 4c 45 5f 50 41 54 43 48   "${SINGLE_PATCH
d4c0: 7d 22 20 3d 20 22 6e 6f 22 20 5d 3b 20 74 68 65  }" = "no" ]; the
d4d0: 6e 0a 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20  n.        einfo 
d4e0: 22 24 7b 45 50 41 54 43 48 5f 4d 55 4c 54 49 5f  "${EPATCH_MULTI_
d4f0: 4d 53 47 7d 22 3b 0a 20 20 20 20 66 69 3b 0a 20  MSG}";.    fi;. 
d500: 20 20 20 66 6f 72 20 78 20 69 6e 20 24 7b 45 50     for x in ${EP
d510: 41 54 43 48 5f 53 4f 55 52 43 45 7d 3b 0a 20 20  ATCH_SOURCE};.  
d520: 20 20 64 6f 0a 20 20 20 20 20 20 20 20 69 66 20    do.        if 
d530: 5b 20 2d 66 20 24 7b 78 7d 20 5d 20 26 26 20 28  [ -f ${x} ] && (
d540: 20 5b 20 22 24 7b 53 49 4e 47 4c 45 5f 50 41 54   [ "${SINGLE_PAT
d550: 43 48 7d 22 20 3d 20 22 79 65 73 22 20 2d 6f 20  CH}" = "yes" -o 
d560: 22 24 7b 78 2f 5f 61 6c 6c 5f 7d 22 20 21 3d 20  "${x/_all_}" != 
d570: 22 24 7b 78 7d 22 20 2d 6f 20 22 24 7b 78 2f 5f  "${x}" -o "${x/_
d580: 24 7b 41 52 43 48 7d 5f 7d 22 20 21 3d 20 22 24  ${ARCH}_}" != "$
d590: 7b 78 7d 22 20 5d 20 7c 7c 20 5b 20 22 24 7b 45  {x}" ] || [ "${E
d5a0: 50 41 54 43 48 5f 46 4f 52 43 45 7d 22 20 3d 20  PATCH_FORCE}" = 
d5b0: 22 79 65 73 22 20 5d 20 29 3b 20 74 68 65 6e 0a  "yes" ] ); then.
d5c0: 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61              loca
d5d0: 6c 20 63 6f 75 6e 74 3d 30 3b 0a 20 20 20 20 20  l count=0;.     
d5e0: 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 70 6f 70         local pop
d5f0: 74 73 3d 22 24 7b 45 50 41 54 43 48 5f 4f 50 54  ts="${EPATCH_OPT
d600: 53 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20  S}";.           
d610: 20 6c 6f 63 61 6c 20 70 61 74 63 68 6e 61 6d 65   local patchname
d620: 3d 24 7b 78 23 23 2a 2f 7d 3b 0a 20 20 20 20 20  =${x##*/};.     
d630: 20 20 20 20 20 20 20 69 66 20 5b 20 2d 6e 20 22         if [ -n "
d640: 24 7b 45 50 41 54 43 48 5f 45 58 43 4c 55 44 45  ${EPATCH_EXCLUDE
d650: 7d 22 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  }" ]; then.     
d660: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 20             if [ 
d670: 22 24 7b 45 50 41 54 43 48 5f 45 58 43 4c 55 44  "${EPATCH_EXCLUD
d680: 45 2f 24 7b 70 61 74 63 68 6e 61 6d 65 7d 7d 22  E/${patchname}}"
d690: 20 21 3d 20 22 24 7b 45 50 41 54 43 48 5f 45 58   != "${EPATCH_EX
d6a0: 43 4c 55 44 45 7d 22 20 5d 3b 20 74 68 65 6e 0a  CLUDE}" ]; then.
d6b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d6c0: 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20      continue;.  
d6d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69                fi
d6e0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69  ;.            fi
d6f0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  ;.            if
d700: 20 5b 20 22 24 7b 53 49 4e 47 4c 45 5f 50 41 54   [ "${SINGLE_PAT
d710: 43 48 7d 22 20 3d 20 22 79 65 73 22 20 5d 3b 20  CH}" = "yes" ]; 
d720: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20  then.           
d730: 20 20 20 20 20 69 66 20 5b 20 2d 6e 20 22 24 7b       if [ -n "${
d740: 45 50 41 54 43 48 5f 53 49 4e 47 4c 45 5f 4d 53  EPATCH_SINGLE_MS
d750: 47 7d 22 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20  G}" ]; then.    
d760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d770: 65 69 6e 66 6f 20 22 24 7b 45 50 41 54 43 48 5f  einfo "${EPATCH_
d780: 53 49 4e 47 4c 45 5f 4d 53 47 7d 22 3b 0a 20 20  SINGLE_MSG}";.  
d790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c                el
d7a0: 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  se.             
d7b0: 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22 41 70         einfo "Ap
d7c0: 70 6c 79 69 6e 67 20 24 7b 70 61 74 63 68 6e 61  plying ${patchna
d7d0: 6d 65 7d 20 2e 2e 2e 22 3b 0a 20 20 20 20 20 20  me} ...";.      
d7e0: 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20            fi;.  
d7f0: 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20            else. 
d800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65                 e
d810: 69 6e 66 6f 20 22 20 20 24 7b 70 61 74 63 68 6e  info "  ${patchn
d820: 61 6d 65 7d 20 2e 2e 2e 22 3b 0a 20 20 20 20 20  ame} ...";.     
d830: 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20         fi;.     
d840: 20 20 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a         echo "***
d850: 2a 2a 20 24 7b 70 61 74 63 68 6e 61 6d 65 7d 20  ** ${patchname} 
d860: 2a 2a 2a 2a 2a 22 20 3e 20 24 7b 53 54 44 45 52  *****" > ${STDER
d870: 52 5f 54 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70  R_TARGET%/*}/${p
d880: 61 74 63 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45  atchname}-${STDE
d890: 52 52 5f 54 41 52 47 45 54 23 23 2a 2f 7d 3b 0a  RR_TARGET##*/};.
d8a0: 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f              echo
d8b0: 20 3e 3e 20 24 7b 53 54 44 45 52 52 5f 54 41 52   >> ${STDERR_TAR
d8c0: 47 45 54 25 2f 2a 7d 2f 24 7b 70 61 74 63 68 6e  GET%/*}/${patchn
d8d0: 61 6d 65 7d 2d 24 7b 53 54 44 45 52 52 5f 54 41  ame}-${STDERR_TA
d8e0: 52 47 45 54 23 23 2a 2f 7d 3b 0a 20 20 20 20 20  RGET##*/};.     
d8f0: 20 20 20 20 20 20 20 69 66 20 5b 5b 20 24 7b 50         if [[ ${P
d900: 41 54 43 48 5f 53 55 46 46 49 58 7d 20 21 3d 20  ATCH_SUFFIX} != 
d910: 22 70 61 74 63 68 22 20 5d 5d 3b 20 74 68 65 6e  "patch" ]]; then
d920: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
d930: 20 65 63 68 6f 20 2d 6e 20 22 50 49 50 45 5f 43   echo -n "PIPE_C
d940: 4f 4d 4d 41 4e 44 3a 09 22 20 3e 3e 20 24 7b 53  OMMAND:." >> ${S
d950: 54 44 45 52 52 5f 54 41 52 47 45 54 25 2f 2a 7d  TDERR_TARGET%/*}
d960: 2f 24 7b 70 61 74 63 68 6e 61 6d 65 7d 2d 24 7b  /${patchname}-${
d970: 53 54 44 45 52 52 5f 54 41 52 47 45 54 23 23 2a  STDERR_TARGET##*
d980: 2f 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  /};.            
d990: 20 20 20 20 65 63 68 6f 20 22 24 7b 50 49 50 45      echo "${PIPE
d9a0: 5f 43 4d 44 7d 20 24 7b 78 7d 20 3e 20 24 7b 50  _CMD} ${x} > ${P
d9b0: 41 54 43 48 5f 54 41 52 47 45 54 7d 22 20 3e 3e  ATCH_TARGET}" >>
d9c0: 20 24 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54   ${STDERR_TARGET
d9d0: 25 2f 2a 7d 2f 24 7b 70 61 74 63 68 6e 61 6d 65  %/*}/${patchname
d9e0: 7d 2d 24 7b 53 54 44 45 52 52 5f 54 41 52 47 45  }-${STDERR_TARGE
d9f0: 54 23 23 2a 2f 7d 3b 0a 20 20 20 20 20 20 20 20  T##*/};.        
da00: 20 20 20 20 20 20 20 20 69 66 20 21 20 28 20 24          if ! ( $
da10: 7b 50 49 50 45 5f 43 4d 44 7d 20 24 7b 78 7d 20  {PIPE_CMD} ${x} 
da20: 3e 20 24 7b 50 41 54 43 48 5f 54 41 52 47 45 54  > ${PATCH_TARGET
da30: 7d 20 29 20 3e 3e 20 24 7b 53 54 44 45 52 52 5f  } ) >> ${STDERR_
da40: 54 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70 61 74  TARGET%/*}/${pat
da50: 63 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45 52 52  chname}-${STDERR
da60: 5f 54 41 52 47 45 54 23 23 2a 2f 7d 20 32 3e 26  _TARGET##*/} 2>&
da70: 31 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  1; then.        
da80: 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f              echo
da90: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
daa0: 20 20 20 20 20 20 65 65 72 72 6f 72 20 22 43 6f        eerror "Co
dab0: 75 6c 64 20 6e 6f 74 20 65 78 74 72 61 63 74 20  uld not extract 
dac0: 70 61 74 63 68 21 22 3b 0a 20 20 20 20 20 20 20  patch!";.       
dad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75               cou
dae0: 6e 74 3d 35 3b 0a 20 20 20 20 20 20 20 20 20 20  nt=5;.          
daf0: 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b            break;
db00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
db10: 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20   fi;.           
db20: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20   else.          
db30: 20 20 20 20 20 20 50 41 54 43 48 5f 54 41 52 47        PATCH_TARG
db40: 45 54 3d 22 24 7b 78 7d 22 3b 0a 20 20 20 20 20  ET="${x}";.     
db50: 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20         fi;.     
db60: 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 61 62 73         local abs
db70: 5f 70 61 74 68 73 3d 24 28 65 67 72 65 70 20 2d  _paths=$(egrep -
db80: 6e 20 27 5e 5b 2d 2b 5d 7b 33 7d 20 2f 27 20 22  n '^[-+]{3} /' "
db90: 24 7b 50 41 54 43 48 5f 54 41 52 47 45 54 7d 22  ${PATCH_TARGET}"
dba0: 20 7c 20 61 77 6b 20 27 24 32 20 21 3d 20 22 2f   | awk '$2 != "/
dbb0: 64 65 76 2f 6e 75 6c 6c 22 20 7b 20 70 72 69 6e  dev/null" { prin
dbc0: 74 20 7d 27 29 3b 0a 20 20 20 20 20 20 20 20 20  t }');.         
dbd0: 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24 7b 61 62     if [[ -n ${ab
dbe0: 73 5f 70 61 74 68 73 7d 20 5d 5d 3b 20 74 68 65  s_paths} ]]; the
dbf0: 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n.              
dc00: 20 20 63 6f 75 6e 74 3d 31 3b 0a 20 20 20 20 20    count=1;.     
dc10: 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20             echo 
dc20: 22 4e 4f 54 45 3a 20 73 6b 69 70 70 69 6e 67 20  "NOTE: skipping 
dc30: 2d 70 30 20 64 75 65 20 74 6f 20 61 62 73 6f 6c  -p0 due to absol
dc40: 75 74 65 20 70 61 74 68 73 20 69 6e 20 70 61 74  ute paths in pat
dc50: 63 68 3a 22 20 3e 3e 20 24 7b 53 54 44 45 52 52  ch:" >> ${STDERR
dc60: 5f 54 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70 61  _TARGET%/*}/${pa
dc70: 74 63 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45 52  tchname}-${STDER
dc80: 52 5f 54 41 52 47 45 54 23 23 2a 2f 7d 3b 0a 20  R_TARGET##*/};. 
dc90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65                 e
dca0: 63 68 6f 20 22 24 7b 61 62 73 5f 70 61 74 68 73  cho "${abs_paths
dcb0: 7d 22 20 3e 3e 20 24 7b 53 54 44 45 52 52 5f 54  }" >> ${STDERR_T
dcc0: 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70 61 74 63  ARGET%/*}/${patc
dcd0: 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45 52 52 5f  hname}-${STDERR_
dce0: 54 41 52 47 45 54 23 23 2a 2f 7d 3b 0a 20 20 20  TARGET##*/};.   
dcf0: 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20           fi;.   
dd00: 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 5b           while [
dd10: 20 22 24 7b 63 6f 75 6e 74 7d 22 20 2d 6c 74 20   "${count}" -lt 
dd20: 35 20 5d 3b 20 64 6f 0a 20 20 20 20 20 20 20 20  5 ]; do.        
dd30: 20 20 20 20 20 20 20 20 5f 65 70 61 74 63 68 5f          _epatch_
dd40: 64 72 61 77 5f 6c 69 6e 65 20 22 2a 2a 2a 2a 2a  draw_line "*****
dd50: 20 24 7b 70 61 74 63 68 6e 61 6d 65 7d 20 2a 2a   ${patchname} **
dd60: 2a 2a 2a 22 20 3e 3e 20 24 7b 53 54 44 45 52 52  ***" >> ${STDERR
dd70: 5f 54 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70 61  _TARGET%/*}/${pa
dd80: 74 63 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45 52  tchname}-${STDER
dd90: 52 5f 54 41 52 47 45 54 23 23 2a 2f 7d 3b 0a 20  R_TARGET##*/};. 
dda0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65                 e
ddb0: 63 68 6f 20 3e 3e 20 24 7b 53 54 44 45 52 52 5f  cho >> ${STDERR_
ddc0: 54 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70 61 74  TARGET%/*}/${pat
ddd0: 63 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45 52 52  chname}-${STDERR
dde0: 5f 54 41 52 47 45 54 23 23 2a 2f 7d 3b 0a 20 20  _TARGET##*/};.  
ddf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63                ec
de00: 68 6f 20 2d 6e 20 22 50 41 54 43 48 20 43 4f 4d  ho -n "PATCH COM
de10: 4d 41 4e 44 3a 09 20 22 20 3e 3e 20 24 7b 53 54  MAND:. " >> ${ST
de20: 44 45 52 52 5f 54 41 52 47 45 54 25 2f 2a 7d 2f  DERR_TARGET%/*}/
de30: 24 7b 70 61 74 63 68 6e 61 6d 65 7d 2d 24 7b 53  ${patchname}-${S
de40: 54 44 45 52 52 5f 54 41 52 47 45 54 23 23 2a 2f  TDERR_TARGET##*/
de50: 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  };.             
de60: 20 20 20 65 63 68 6f 20 22 70 61 74 63 68 20 2d     echo "patch -
de70: 70 24 7b 63 6f 75 6e 74 7d 20 24 7b 70 6f 70 74  p${count} ${popt
de80: 73 7d 20 3c 20 24 7b 50 41 54 43 48 5f 54 41 52  s} < ${PATCH_TAR
de90: 47 45 54 7d 22 20 3e 3e 20 24 7b 53 54 44 45 52  GET}" >> ${STDER
dea0: 52 5f 54 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70  R_TARGET%/*}/${p
deb0: 61 74 63 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45  atchname}-${STDE
dec0: 52 52 5f 54 41 52 47 45 54 23 23 2a 2f 7d 3b 0a  RR_TARGET##*/};.
ded0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
dee0: 65 63 68 6f 20 3e 3e 20 24 7b 53 54 44 45 52 52  echo >> ${STDERR
def0: 5f 54 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70 61  _TARGET%/*}/${pa
df00: 74 63 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45 52  tchname}-${STDER
df10: 52 5f 54 41 52 47 45 54 23 23 2a 2f 7d 3b 0a 20  R_TARGET##*/};. 
df20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f                 _
df30: 65 70 61 74 63 68 5f 64 72 61 77 5f 6c 69 6e 65  epatch_draw_line
df40: 20 22 2a 2a 2a 2a 2a 20 24 7b 70 61 74 63 68 6e   "***** ${patchn
df50: 61 6d 65 7d 20 2a 2a 2a 2a 2a 22 20 3e 3e 20 24  ame} *****" >> $
df60: 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54 25 2f  {STDERR_TARGET%/
df70: 2a 7d 2f 24 7b 70 61 74 63 68 6e 61 6d 65 7d 2d  *}/${patchname}-
df80: 24 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54 23  ${STDERR_TARGET#
df90: 23 2a 2f 7d 3b 0a 20 20 20 20 20 20 20 20 20 20  #*/};.          
dfa0: 20 20 20 20 20 20 69 66 20 28 20 63 61 74 20 24        if ( cat $
dfb0: 7b 50 41 54 43 48 5f 54 41 52 47 45 54 7d 20 7c  {PATCH_TARGET} |
dfc0: 20 70 61 74 63 68 20 2d 70 24 7b 63 6f 75 6e 74   patch -p${count
dfd0: 7d 20 24 7b 70 6f 70 74 73 7d 20 2d 2d 64 72 79  } ${popts} --dry
dfe0: 2d 72 75 6e 20 2d 66 3b 0a 20 20 20 20 20 20 20  -run -f;.       
dff0: 20 20 20 20 20 20 20 20 20 5f 65 70 61 74 63 68           _epatch
e000: 5f 61 73 73 65 72 74 20 29 20 3e 3e 20 24 7b 53  _assert ) >> ${S
e010: 54 44 45 52 52 5f 54 41 52 47 45 54 25 2f 2a 7d  TDERR_TARGET%/*}
e020: 2f 24 7b 70 61 74 63 68 6e 61 6d 65 7d 2d 24 7b  /${patchname}-${
e030: 53 54 44 45 52 52 5f 54 41 52 47 45 54 23 23 2a  STDERR_TARGET##*
e040: 2f 7d 20 32 3e 26 31 3b 20 74 68 65 6e 0a 20 20  /} 2>&1; then.  
e050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
e060: 20 20 5f 65 70 61 74 63 68 5f 64 72 61 77 5f 6c    _epatch_draw_l
e070: 69 6e 65 20 22 2a 2a 2a 2a 2a 20 24 7b 70 61 74  ine "***** ${pat
e080: 63 68 6e 61 6d 65 7d 20 2a 2a 2a 2a 2a 22 20 3e  chname} *****" >
e090: 20 24 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54   ${STDERR_TARGET
e0a0: 25 2f 2a 7d 2f 24 7b 70 61 74 63 68 6e 61 6d 65  %/*}/${patchname
e0b0: 7d 2d 24 7b 53 54 44 45 52 52 5f 54 41 52 47 45  }-${STDERR_TARGE
e0c0: 54 23 23 2a 2f 7d 2e 72 65 61 6c 3b 0a 20 20 20  T##*/}.real;.   
e0d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
e0e0: 20 65 63 68 6f 20 3e 3e 20 24 7b 53 54 44 45 52   echo >> ${STDER
e0f0: 52 5f 54 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70  R_TARGET%/*}/${p
e100: 61 74 63 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45  atchname}-${STDE
e110: 52 52 5f 54 41 52 47 45 54 23 23 2a 2f 7d 2e 72  RR_TARGET##*/}.r
e120: 65 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20  eal;.           
e130: 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 41           echo "A
e140: 43 54 55 41 4c 4c 59 20 41 50 50 4c 59 49 4e 47  CTUALLY APPLYING
e150: 20 24 7b 70 61 74 63 68 6e 61 6d 65 7d 20 2e 2e   ${patchname} ..
e160: 2e 22 20 3e 3e 20 24 7b 53 54 44 45 52 52 5f 54  ." >> ${STDERR_T
e170: 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70 61 74 63  ARGET%/*}/${patc
e180: 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45 52 52 5f  hname}-${STDERR_
e190: 54 41 52 47 45 54 23 23 2a 2f 7d 2e 72 65 61 6c  TARGET##*/}.real
e1a0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
e1b0: 20 20 20 20 20 20 65 63 68 6f 20 3e 3e 20 24 7b        echo >> ${
e1c0: 53 54 44 45 52 52 5f 54 41 52 47 45 54 25 2f 2a  STDERR_TARGET%/*
e1d0: 7d 2f 24 7b 70 61 74 63 68 6e 61 6d 65 7d 2d 24  }/${patchname}-$
e1e0: 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54 23 23  {STDERR_TARGET##
e1f0: 2a 2f 7d 2e 72 65 61 6c 3b 0a 20 20 20 20 20 20  */}.real;.      
e200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 65                _e
e210: 70 61 74 63 68 5f 64 72 61 77 5f 6c 69 6e 65 20  patch_draw_line 
e220: 22 2a 2a 2a 2a 2a 20 24 7b 70 61 74 63 68 6e 61  "***** ${patchna
e230: 6d 65 7d 20 2a 2a 2a 2a 2a 22 20 3e 3e 20 24 7b  me} *****" >> ${
e240: 53 54 44 45 52 52 5f 54 41 52 47 45 54 25 2f 2a  STDERR_TARGET%/*
e250: 7d 2f 24 7b 70 61 74 63 68 6e 61 6d 65 7d 2d 24  }/${patchname}-$
e260: 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54 23 23  {STDERR_TARGET##
e270: 2a 2f 7d 2e 72 65 61 6c 3b 0a 20 20 20 20 20 20  */}.real;.      
e280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61                ca
e290: 74 20 24 7b 50 41 54 43 48 5f 54 41 52 47 45 54  t ${PATCH_TARGET
e2a0: 7d 20 7c 20 70 61 74 63 68 20 2d 70 24 7b 63 6f  } | patch -p${co
e2b0: 75 6e 74 7d 20 24 7b 70 6f 70 74 73 7d 20 3e 3e  unt} ${popts} >>
e2c0: 20 24 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54   ${STDERR_TARGET
e2d0: 25 2f 2a 7d 2f 24 7b 70 61 74 63 68 6e 61 6d 65  %/*}/${patchname
e2e0: 7d 2d 24 7b 53 54 44 45 52 52 5f 54 41 52 47 45  }-${STDERR_TARGE
e2f0: 54 23 23 2a 2f 7d 2e 72 65 61 6c 20 32 3e 26 31  T##*/}.real 2>&1
e300: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
e310: 20 20 20 20 20 20 5f 65 70 61 74 63 68 5f 61 73        _epatch_as
e320: 73 65 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20  sert;.          
e330: 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 20 22            if [ "
e340: 24 3f 22 20 2d 6e 65 20 30 20 5d 3b 20 74 68 65  $?" -ne 0 ]; the
e350: 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n.              
e360: 20 20 20 20 20 20 20 20 20 20 63 61 74 20 24 7b            cat ${
e370: 53 54 44 45 52 52 5f 54 41 52 47 45 54 25 2f 2a  STDERR_TARGET%/*
e380: 7d 2f 24 7b 70 61 74 63 68 6e 61 6d 65 7d 2d 24  }/${patchname}-$
e390: 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54 23 23  {STDERR_TARGET##
e3a0: 2a 2f 7d 2e 72 65 61 6c 20 3e 3e 20 24 7b 53 54  */}.real >> ${ST
e3b0: 44 45 52 52 5f 54 41 52 47 45 54 25 2f 2a 7d 2f  DERR_TARGET%/*}/
e3c0: 24 7b 70 61 74 63 68 6e 61 6d 65 7d 2d 24 7b 53  ${patchname}-${S
e3d0: 54 44 45 52 52 5f 54 41 52 47 45 54 23 23 2a 2f  TDERR_TARGET##*/
e3e0: 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  };.             
e3f0: 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 3b             echo;
e400: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
e410: 20 20 20 20 20 20 20 20 20 65 65 72 72 6f 72 20           eerror 
e420: 22 41 20 64 72 79 2d 72 75 6e 20 6f 66 20 70 61  "A dry-run of pa
e430: 74 63 68 20 63 6f 6d 6d 61 6e 64 20 73 75 63 63  tch command succ
e440: 65 65 64 65 64 2c 20 62 75 74 20 61 63 74 75 61  eeded, but actua
e450: 6c 6c 79 22 3b 0a 20 20 20 20 20 20 20 20 20 20  lly";.          
e460: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 65                ee
e470: 72 72 6f 72 20 22 61 70 70 6c 79 69 6e 67 20 74  rror "applying t
e480: 68 65 20 70 61 74 63 68 20 66 61 69 6c 65 64 21  he patch failed!
e490: 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ";.             
e4a0: 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74             count
e4b0: 3d 35 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  =5;.            
e4c0: 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20          fi;.    
e4d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
e4e0: 72 6d 20 2d 66 20 24 7b 53 54 44 45 52 52 5f 54  rm -f ${STDERR_T
e4f0: 41 52 47 45 54 25 2f 2a 7d 2f 24 7b 70 61 74 63  ARGET%/*}/${patc
e500: 68 6e 61 6d 65 7d 2d 24 7b 53 54 44 45 52 52 5f  hname}-${STDERR_
e510: 54 41 52 47 45 54 23 23 2a 2f 7d 2e 72 65 61 6c  TARGET##*/}.real
e520: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
e530: 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20        break;.   
e540: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 3b               fi;
e550: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
e560: 20 63 6f 75 6e 74 3d 24 28 28 63 6f 75 6e 74 20   count=$((count 
e570: 2b 20 31 29 29 3b 0a 20 20 20 20 20 20 20 20 20  + 1));.         
e580: 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 20 20 20     done;.       
e590: 20 20 20 20 20 69 66 20 5b 20 22 24 7b 50 41 54       if [ "${PAT
e5a0: 43 48 5f 53 55 46 46 49 58 7d 22 20 21 3d 20 22  CH_SUFFIX}" != "
e5b0: 70 61 74 63 68 22 20 5d 3b 20 74 68 65 6e 0a 20  patch" ]; then. 
e5c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
e5d0: 6d 20 2d 66 20 24 7b 50 41 54 43 48 5f 54 41 52  m -f ${PATCH_TAR
e5e0: 47 45 54 7d 3b 0a 20 20 20 20 20 20 20 20 20 20  GET};.          
e5f0: 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20    fi;.          
e600: 20 20 69 66 20 5b 20 22 24 7b 63 6f 75 6e 74 7d    if [ "${count}
e610: 22 20 2d 65 71 20 35 20 5d 3b 20 74 68 65 6e 0a  " -eq 5 ]; then.
e620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
e630: 65 63 68 6f 3b 0a 20 20 20 20 20 20 20 20 20 20  echo;.          
e640: 20 20 20 20 20 20 65 65 72 72 6f 72 20 22 46 61        eerror "Fa
e650: 69 6c 65 64 20 50 61 74 63 68 3a 20 24 7b 70 61  iled Patch: ${pa
e660: 74 63 68 6e 61 6d 65 7d 20 21 22 3b 0a 20 20 20  tchname} !";.   
e670: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 65 72               eer
e680: 72 6f 72 20 22 20 28 20 24 7b 50 41 54 43 48 5f  ror " ( ${PATCH_
e690: 54 41 52 47 45 54 7d 20 29 22 3b 0a 20 20 20 20  TARGET} )";.    
e6a0: 20 20 20 20 20 20 20 20 20 20 20 20 65 65 72 72              eerr
e6b0: 6f 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  or;.            
e6c0: 20 20 20 20 65 65 72 72 6f 72 20 22 49 6e 63 6c      eerror "Incl
e6d0: 75 64 65 20 69 6e 20 79 6f 75 72 20 62 75 67 72  ude in your bugr
e6e0: 65 70 6f 72 74 20 74 68 65 20 63 6f 6e 74 65 6e  eport the conten
e6f0: 74 73 20 6f 66 3a 22 3b 0a 20 20 20 20 20 20 20  ts of:";.       
e700: 20 20 20 20 20 20 20 20 20 65 65 72 72 6f 72 3b           eerror;
e710: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
e720: 20 65 65 72 72 6f 72 20 22 20 20 24 7b 53 54 44   eerror "  ${STD
e730: 45 52 52 5f 54 41 52 47 45 54 25 2f 2a 7d 2f 24  ERR_TARGET%/*}/$
e740: 7b 70 61 74 63 68 6e 61 6d 65 7d 2d 24 7b 53 54  {patchname}-${ST
e750: 44 45 52 52 5f 54 41 52 47 45 54 23 23 2a 2f 7d  DERR_TARGET##*/}
e760: 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ";.             
e770: 20 20 20 65 63 68 6f 3b 0a 20 20 20 20 20 20 20     echo;.       
e780: 20 20 20 20 20 20 20 20 20 64 69 65 20 22 46 61           die "Fa
e790: 69 6c 65 64 20 50 61 74 63 68 3a 20 24 7b 70 61  iled Patch: ${pa
e7a0: 74 63 68 6e 61 6d 65 7d 21 22 3b 0a 20 20 20 20  tchname}!";.    
e7b0: 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20          fi;.    
e7c0: 20 20 20 20 20 20 20 20 72 6d 20 2d 66 20 24 7b          rm -f ${
e7d0: 53 54 44 45 52 52 5f 54 41 52 47 45 54 25 2f 2a  STDERR_TARGET%/*
e7e0: 7d 2f 24 7b 70 61 74 63 68 6e 61 6d 65 7d 2d 24  }/${patchname}-$
e7f0: 7b 53 54 44 45 52 52 5f 54 41 52 47 45 54 23 23  {STDERR_TARGET##
e800: 2a 2f 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20  */};.           
e810: 20 65 65 6e 64 20 30 3b 0a 20 20 20 20 20 20 20   eend 0;.       
e820: 20 66 69 3b 0a 20 20 20 20 64 6f 6e 65 3b 0a 20   fi;.    done;. 
e830: 20 20 20 69 66 20 5b 20 22 24 7b 53 49 4e 47 4c     if [ "${SINGL
e840: 45 5f 50 41 54 43 48 7d 22 20 3d 20 22 6e 6f 22  E_PATCH}" = "no"
e850: 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20   ]; then.       
e860: 20 65 69 6e 66 6f 20 22 44 6f 6e 65 20 77 69 74   einfo "Done wit
e870: 68 20 70 61 74 63 68 69 6e 67 22 3b 0a 20 20 20  h patching";.   
e880: 20 66 69 0a 7d 0a 65 70 61 75 73 65 20 28 29 20   fi.}.epause () 
e890: 0a 7b 20 0a 20 20 20 20 5b 5b 20 2d 7a 20 24 7b  .{ .    [[ -z ${
e8a0: 45 50 41 55 53 45 5f 49 47 4e 4f 52 45 7d 20 5d  EPAUSE_IGNORE} ]
e8b0: 5d 20 26 26 20 73 6c 65 65 70 20 24 7b 31 3a 2d  ] && sleep ${1:-
e8c0: 35 7d 0a 7d 0a 65 70 75 6e 74 5f 63 78 78 20 28  5}.}.epunt_cxx (
e8d0: 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20  ) .{ .    local 
e8e0: 64 69 72 3d 24 31 3b 0a 20 20 20 20 5b 5b 20 2d  dir=$1;.    [[ -
e8f0: 7a 20 24 7b 64 69 72 7d 20 5d 5d 20 26 26 20 64  z ${dir} ]] && d
e900: 69 72 3d 24 7b 53 7d 3b 0a 20 20 20 20 65 62 65  ir=${S};.    ebe
e910: 67 69 6e 20 22 52 65 6d 6f 76 69 6e 67 20 75 73  gin "Removing us
e920: 65 6c 65 73 73 20 43 2b 2b 20 63 68 65 63 6b 73  eless C++ checks
e930: 22 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 66 3b 0a  ";.    local f;.
e940: 20 20 20 20 66 69 6e 64 20 22 24 7b 64 69 72 7d      find "${dir}
e950: 22 20 2d 6e 61 6d 65 20 63 6f 6e 66 69 67 75 72  " -name configur
e960: 65 20 7c 20 77 68 69 6c 65 20 72 65 61 64 20 66  e | while read f
e970: 3b 20 64 6f 0a 20 20 20 20 20 20 20 20 70 61 74  ; do.        pat
e980: 63 68 20 2d 2d 6e 6f 2d 62 61 63 6b 75 70 2d 69  ch --no-backup-i
e990: 66 2d 6d 69 73 6d 61 74 63 68 20 2d 70 30 20 22  f-mismatch -p0 "
e9a0: 24 7b 66 7d 22 20 22 24 7b 50 4f 52 54 44 49 52  ${f}" "${PORTDIR
e9b0: 7d 2f 65 63 6c 61 73 73 2f 45 4c 54 2d 70 61 74  }/eclass/ELT-pat
e9c0: 63 68 65 73 2f 6e 6f 63 78 78 2f 6e 6f 63 78 78  ches/nocxx/nocxx
e9d0: 2e 70 61 74 63 68 22 20 3e 20 2f 64 65 76 2f 6e  .patch" > /dev/n
e9e0: 75 6c 6c 3b 0a 20 20 20 20 64 6f 6e 65 3b 0a 20  ull;.    done;. 
e9f0: 20 20 20 65 65 6e 64 20 30 0a 7d 0a 65 73 76 6e     eend 0.}.esvn
ea00: 5f 63 6c 65 61 6e 20 28 29 20 0a 7b 20 0a 20 20  _clean () .{ .  
ea10: 20 20 5b 5b 20 2d 7a 20 24 2a 20 5d 5d 20 26 26    [[ -z $* ]] &&
ea20: 20 73 65 74 20 2d 2d 20 2e 3b 0a 20 20 20 20 66   set -- .;.    f
ea30: 69 6e 64 20 22 24 40 22 20 2d 74 79 70 65 20 64  ind "$@" -type d
ea40: 20 2d 6e 61 6d 65 20 27 2e 73 76 6e 27 20 2d 70   -name '.svn' -p
ea50: 72 75 6e 65 20 2d 70 72 69 6e 74 30 20 7c 20 78  rune -print0 | x
ea60: 61 72 67 73 20 2d 30 20 72 6d 20 2d 72 66 0a 7d  args -0 rm -rf.}
ea70: 0a 66 69 6e 64 5f 75 6e 70 61 63 6b 61 62 6c 65  .find_unpackable
ea80: 5f 66 69 6c 65 20 28 29 20 0a 7b 20 0a 20 20 20  _file () .{ .   
ea90: 20 6c 6f 63 61 6c 20 73 72 63 3d 24 31 3b 0a 20   local src=$1;. 
eaa0: 20 20 20 69 66 20 5b 5b 20 2d 7a 20 24 7b 73 72     if [[ -z ${sr
eab0: 63 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  c} ]]; then.    
eac0: 20 20 20 20 73 72 63 3d 24 7b 44 49 53 54 44 49      src=${DISTDI
ead0: 52 7d 2f 24 7b 41 7d 3b 0a 20 20 20 20 65 6c 73  R}/${A};.    els
eae0: 65 0a 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20  e.        if [[ 
eaf0: 2d 65 20 24 7b 44 49 53 54 44 49 52 7d 2f 24 7b  -e ${DISTDIR}/${
eb00: 73 72 63 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  src} ]]; then.  
eb10: 20 20 20 20 20 20 20 20 20 20 73 72 63 3d 24 7b            src=${
eb20: 44 49 53 54 44 49 52 7d 2f 24 7b 73 72 63 7d 3b  DISTDIR}/${src};
eb30: 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20  .        else.  
eb40: 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20            if [[ 
eb50: 2d 65 20 24 7b 50 57 44 7d 2f 24 7b 73 72 63 7d  -e ${PWD}/${src}
eb60: 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20   ]]; then.      
eb70: 20 20 20 20 20 20 20 20 20 20 73 72 63 3d 24 7b            src=${
eb80: 50 57 44 7d 2f 24 7b 73 72 63 7d 3b 0a 20 20 20  PWD}/${src};.   
eb90: 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20           else.  
eba0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
ebb0: 20 5b 5b 20 2d 65 20 24 7b 73 72 63 7d 20 5d 5d   [[ -e ${src} ]]
ebc0: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
ebd0: 20 20 20 20 20 20 20 20 20 20 20 73 72 63 3d 24             src=$
ebe0: 7b 73 72 63 7d 3b 0a 20 20 20 20 20 20 20 20 20  {src};.         
ebf0: 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20         fi;.     
ec00: 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20         fi;.     
ec10: 20 20 20 66 69 3b 0a 20 20 20 20 66 69 3b 0a 20     fi;.    fi;. 
ec20: 20 20 20 5b 5b 20 21 20 2d 65 20 24 7b 73 72 63     [[ ! -e ${src
ec30: 7d 20 5d 5d 20 26 26 20 72 65 74 75 72 6e 20 31  } ]] && return 1
ec40: 3b 0a 20 20 20 20 65 63 68 6f 20 22 24 7b 73 72  ;.    echo "${sr
ec50: 63 7d 22 0a 7d 0a 67 63 63 2d 66 75 6c 6c 76 65  c}".}.gcc-fullve
ec60: 72 73 69 6f 6e 20 28 29 20 0a 7b 20 0a 20 20 20  rsion () .{ .   
ec70: 20 24 28 74 63 2d 67 65 74 43 43 20 22 24 40 22   $(tc-getCC "$@"
ec80: 29 20 2d 64 75 6d 70 76 65 72 73 69 6f 6e 0a 7d  ) -dumpversion.}
ec90: 0a 67 63 63 2d 6d 61 6a 6f 72 2d 76 65 72 73 69  .gcc-major-versi
eca0: 6f 6e 20 28 29 20 0a 7b 20 0a 20 20 20 20 67 63  on () .{ .    gc
ecb0: 63 2d 76 65 72 73 69 6f 6e 20 22 24 40 22 20 7c  c-version "$@" |
ecc0: 20 63 75 74 20 2d 66 31 20 2d 64 2e 0a 7d 0a 67   cut -f1 -d..}.g
ecd0: 63 63 2d 6d 69 63 72 6f 2d 76 65 72 73 69 6f 6e  cc-micro-version
ece0: 20 28 29 20 0a 7b 20 0a 20 20 20 20 67 63 63 2d   () .{ .    gcc-
ecf0: 66 75 6c 6c 76 65 72 73 69 6f 6e 20 22 24 40 22  fullversion "$@"
ed00: 20 7c 20 63 75 74 20 2d 66 33 20 2d 64 2e 20 7c   | cut -f3 -d. |
ed10: 20 63 75 74 20 2d 66 31 20 2d 64 2d 0a 7d 0a 67   cut -f1 -d-.}.g
ed20: 63 63 2d 6d 69 6e 6f 72 2d 76 65 72 73 69 6f 6e  cc-minor-version
ed30: 20 28 29 20 0a 7b 20 0a 20 20 20 20 67 63 63 2d   () .{ .    gcc-
ed40: 76 65 72 73 69 6f 6e 20 22 24 40 22 20 7c 20 63  version "$@" | c
ed50: 75 74 20 2d 66 32 20 2d 64 2e 0a 7d 0a 67 63 63  ut -f2 -d..}.gcc
ed60: 2d 73 70 65 63 73 2d 64 69 72 65 63 74 69 76 65  -specs-directive
ed70: 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61   () .{ .    loca
ed80: 6c 20 64 69 72 65 63 74 69 76 65 20 73 75 62 64  l directive subd
ed90: 6e 61 6d 65 20 73 75 62 64 69 72 65 63 74 69 76  name subdirectiv
eda0: 65 3b 0a 20 20 20 20 64 69 72 65 63 74 69 76 65  e;.    directive
edb0: 3d 22 24 28 5f 67 63 63 2d 73 70 65 63 73 2d 64  ="$(_gcc-specs-d
edc0: 69 72 65 63 74 69 76 65 5f 72 61 77 20 24 31 29  irective_raw $1)
edd0: 22 3b 0a 20 20 20 20 77 68 69 6c 65 20 5b 5b 20  ";.    while [[ 
ede0: 24 7b 64 69 72 65 63 74 69 76 65 7d 20 3d 3d 20  ${directive} == 
edf0: 2a 25 5c 28 2a 5c 29 2a 20 5d 5d 3b 20 64 6f 0a  *%\(*\)* ]]; do.
ee00: 20 20 20 20 20 20 20 20 73 75 62 64 6e 61 6d 65          subdname
ee10: 3d 24 7b 64 69 72 65 63 74 69 76 65 2f 2a 25 5c  =${directive/*%\
ee20: 28 7d 3b 0a 20 20 20 20 20 20 20 20 73 75 62 64  (};.        subd
ee30: 6e 61 6d 65 3d 24 7b 73 75 62 64 6e 61 6d 65 2f  name=${subdname/
ee40: 5c 29 2a 7d 3b 0a 20 20 20 20 20 20 20 20 73 75  \)*};.        su
ee50: 62 64 69 72 65 63 74 69 76 65 3d 22 24 28 5f 67  bdirective="$(_g
ee60: 63 63 2d 73 70 65 63 73 2d 64 69 72 65 63 74 69  cc-specs-directi
ee70: 76 65 5f 72 61 77 20 24 7b 73 75 62 64 6e 61 6d  ve_raw ${subdnam
ee80: 65 7d 29 22 3b 0a 20 20 20 20 20 20 20 20 64 69  e})";.        di
ee90: 72 65 63 74 69 76 65 3d 22 24 7b 64 69 72 65 63  rective="${direc
eea0: 74 69 76 65 2f 2f 5c 25 28 24 7b 73 75 62 64 6e  tive//\%(${subdn
eeb0: 61 6d 65 7d 29 2f 24 7b 73 75 62 64 69 72 65 63  ame})/${subdirec
eec0: 74 69 76 65 7d 7d 22 3b 0a 20 20 20 20 64 6f 6e  tive}}";.    don
eed0: 65 3b 0a 20 20 20 20 65 63 68 6f 20 22 24 7b 64  e;.    echo "${d
eee0: 69 72 65 63 74 69 76 65 7d 22 3b 0a 20 20 20 20  irective}";.    
eef0: 72 65 74 75 72 6e 20 30 0a 7d 0a 67 63 63 2d 73  return 0.}.gcc-s
ef00: 70 65 63 73 2d 6e 6f 73 74 72 69 63 74 20 28 29  pecs-nostrict ()
ef10: 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20 64   .{ .    local d
ef20: 69 72 65 63 74 69 76 65 3b 0a 20 20 20 20 64 69  irective;.    di
ef30: 72 65 63 74 69 76 65 3d 24 28 67 63 63 2d 73 70  rective=$(gcc-sp
ef40: 65 63 73 2d 64 69 72 65 63 74 69 76 65 20 63 63  ecs-directive cc
ef50: 31 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 24  1);.    return $
ef60: 28 5b 5b 20 22 24 7b 64 69 72 65 63 74 69 76 65  ([[ "${directive
ef70: 2f 5c 7b 21 66 73 74 72 69 63 74 2d 6f 76 65 72  /\{!fstrict-over
ef80: 66 6c 6f 77 3a 7d 22 20 21 3d 20 22 24 7b 64 69  flow:}" != "${di
ef90: 72 65 63 74 69 76 65 7d 22 20 5d 5d 29 0a 7d 0a  rective}" ]]).}.
efa0: 67 63 63 2d 73 70 65 63 73 2d 6e 6f 77 20 28 29  gcc-specs-now ()
efb0: 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20 64   .{ .    local d
efc0: 69 72 65 63 74 69 76 65 3b 0a 20 20 20 20 64 69  irective;.    di
efd0: 72 65 63 74 69 76 65 3d 24 28 67 63 63 2d 73 70  rective=$(gcc-sp
efe0: 65 63 73 2d 64 69 72 65 63 74 69 76 65 20 6c 69  ecs-directive li
eff0: 6e 6b 5f 63 6f 6d 6d 61 6e 64 29 3b 0a 20 20 20  nk_command);.   
f000: 20 72 65 74 75 72 6e 20 24 28 5b 5b 20 22 24 7b   return $([[ "${
f010: 64 69 72 65 63 74 69 76 65 2f 5c 7b 21 6e 6f 6e  directive/\{!non
f020: 6f 77 3a 7d 22 20 21 3d 20 22 24 7b 64 69 72 65  ow:}" != "${dire
f030: 63 74 69 76 65 7d 22 20 5d 5d 29 0a 7d 0a 67 63  ctive}" ]]).}.gc
f040: 63 2d 73 70 65 63 73 2d 70 69 65 20 28 29 20 0a  c-specs-pie () .
f050: 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20 64 69 72  { .    local dir
f060: 65 63 74 69 76 65 3b 0a 20 20 20 20 64 69 72 65  ective;.    dire
f070: 63 74 69 76 65 3d 24 28 67 63 63 2d 73 70 65 63  ctive=$(gcc-spec
f080: 73 2d 64 69 72 65 63 74 69 76 65 20 63 63 31 29  s-directive cc1)
f090: 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 24 28 5b  ;.    return $([
f0a0: 5b 20 22 24 7b 64 69 72 65 63 74 69 76 65 2f 5c  [ "${directive/\
f0b0: 7b 21 6e 6f 70 69 65 3a 7d 22 20 21 3d 20 22 24  {!nopie:}" != "$
f0c0: 7b 64 69 72 65 63 74 69 76 65 7d 22 20 5d 5d 29  {directive}" ]])
f0d0: 0a 7d 0a 67 63 63 2d 73 70 65 63 73 2d 72 65 6c  .}.gcc-specs-rel
f0e0: 72 6f 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f  ro () .{ .    lo
f0f0: 63 61 6c 20 64 69 72 65 63 74 69 76 65 3b 0a 20  cal directive;. 
f100: 20 20 20 64 69 72 65 63 74 69 76 65 3d 24 28 67     directive=$(g
f110: 63 63 2d 73 70 65 63 73 2d 64 69 72 65 63 74 69  cc-specs-directi
f120: 76 65 20 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 29  ve link_command)
f130: 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 24 28 5b  ;.    return $([
f140: 5b 20 22 24 7b 64 69 72 65 63 74 69 76 65 2f 5c  [ "${directive/\
f150: 7b 21 6e 6f 72 65 6c 72 6f 3a 7d 22 20 21 3d 20  {!norelro:}" != 
f160: 22 24 7b 64 69 72 65 63 74 69 76 65 7d 22 20 5d  "${directive}" ]
f170: 5d 29 0a 7d 0a 67 63 63 2d 73 70 65 63 73 2d 73  ]).}.gcc-specs-s
f180: 73 70 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f  sp () .{ .    lo
f190: 63 61 6c 20 64 69 72 65 63 74 69 76 65 3b 0a 20  cal directive;. 
f1a0: 20 20 20 64 69 72 65 63 74 69 76 65 3d 24 28 67     directive=$(g
f1b0: 63 63 2d 73 70 65 63 73 2d 64 69 72 65 63 74 69  cc-specs-directi
f1c0: 76 65 20 63 63 31 29 3b 0a 20 20 20 20 72 65 74  ve cc1);.    ret
f1d0: 75 72 6e 20 24 28 5b 5b 20 22 24 7b 64 69 72 65  urn $([[ "${dire
f1e0: 63 74 69 76 65 2f 5c 7b 21 66 6e 6f 2d 73 74 61  ctive/\{!fno-sta
f1f0: 63 6b 2d 70 72 6f 74 65 63 74 6f 72 3a 7d 22 20  ck-protector:}" 
f200: 21 3d 20 22 24 7b 64 69 72 65 63 74 69 76 65 7d  != "${directive}
f210: 22 20 5d 5d 29 0a 7d 0a 67 63 63 2d 73 70 65 63  " ]]).}.gcc-spec
f220: 73 2d 73 73 70 2d 74 6f 2d 61 6c 6c 20 28 29 20  s-ssp-to-all () 
f230: 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20 64 69  .{ .    local di
f240: 72 65 63 74 69 76 65 3b 0a 20 20 20 20 64 69 72  rective;.    dir
f250: 65 63 74 69 76 65 3d 24 28 67 63 63 2d 73 70 65  ective=$(gcc-spe
f260: 63 73 2d 64 69 72 65 63 74 69 76 65 20 63 63 31  cs-directive cc1
f270: 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 24 28  );.    return $(
f280: 5b 5b 20 22 24 7b 64 69 72 65 63 74 69 76 65 2f  [[ "${directive/
f290: 5c 7b 21 66 6e 6f 2d 73 74 61 63 6b 2d 70 72 6f  \{!fno-stack-pro
f2a0: 74 65 63 74 6f 72 2d 61 6c 6c 3a 7d 22 20 21 3d  tector-all:}" !=
f2b0: 20 22 24 7b 64 69 72 65 63 74 69 76 65 7d 22 20   "${directive}" 
f2c0: 5d 5d 29 0a 7d 0a 67 63 63 2d 76 65 72 73 69 6f  ]]).}.gcc-versio
f2d0: 6e 20 28 29 20 0a 7b 20 0a 20 20 20 20 67 63 63  n () .{ .    gcc
f2e0: 2d 66 75 6c 6c 76 65 72 73 69 6f 6e 20 22 24 40  -fullversion "$@
f2f0: 22 20 7c 20 63 75 74 20 2d 66 31 2c 32 20 2d 64  " | cut -f1,2 -d
f300: 2e 0a 7d 0a 67 65 6e 5f 75 73 72 5f 6c 64 73 63  ..}.gen_usr_ldsc
f310: 72 69 70 74 20 28 29 20 0a 7b 20 0a 20 20 20 20  ript () .{ .    
f320: 6c 6f 63 61 6c 20 6c 69 62 20 6c 69 62 64 69 72  local lib libdir
f330: 3d 24 28 67 65 74 5f 6c 69 62 64 69 72 29 20 6f  =$(get_libdir) o
f340: 75 74 70 75 74 5f 66 6f 72 6d 61 74 3d 22 22 20  utput_format="" 
f350: 61 75 74 6f 3d 66 61 6c 73 65 20 73 75 66 66 69  auto=false suffi
f360: 78 3d 24 28 67 65 74 5f 6c 69 62 6e 61 6d 65 29  x=$(get_libname)
f370: 3b 0a 20 20 20 20 5b 5b 20 2d 7a 20 24 7b 45 44  ;.    [[ -z ${ED
f380: 2b 73 65 74 7d 20 5d 5d 20 26 26 20 6c 6f 63 61  +set} ]] && loca
f390: 6c 20 45 44 3d 24 7b 44 25 2f 7d 24 7b 45 50 52  l ED=${D%/}${EPR
f3a0: 45 46 49 58 7d 2f 3b 0a 20 20 20 20 74 63 2d 69  EFIX}/;.    tc-i
f3b0: 73 2d 73 74 61 74 69 63 2d 6f 6e 6c 79 20 26 26  s-static-only &&
f3c0: 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 64 6f 64   return;.    dod
f3d0: 69 72 20 2f 75 73 72 2f 24 7b 6c 69 62 64 69 72  ir /usr/${libdir
f3e0: 7d 3b 0a 20 20 20 20 69 66 20 5b 5b 20 24 31 20  };.    if [[ $1 
f3f0: 3d 3d 20 22 2d 61 22 20 5d 5d 3b 20 74 68 65 6e  == "-a" ]]; then
f400: 0a 20 20 20 20 20 20 20 20 61 75 74 6f 3d 74 72  .        auto=tr
f410: 75 65 3b 0a 20 20 20 20 20 20 20 20 73 68 69 66  ue;.        shif
f420: 74 3b 0a 20 20 20 20 20 20 20 20 64 6f 64 69 72  t;.        dodir
f430: 20 2f 24 7b 6c 69 62 64 69 72 7d 3b 0a 20 20 20   /${libdir};.   
f440: 20 66 69 3b 0a 20 20 20 20 6f 75 74 70 75 74 5f   fi;.    output_
f450: 66 6f 72 6d 61 74 3d 24 28 24 28 74 63 2d 67 65  format=$($(tc-ge
f460: 74 43 43 29 20 24 7b 43 46 4c 41 47 53 7d 20 24  tCC) ${CFLAGS} $
f470: 7b 4c 44 46 4c 41 47 53 7d 20 2d 57 6c 2c 2d 2d  {LDFLAGS} -Wl,--
f480: 76 65 72 62 6f 73 65 20 32 3e 26 31 20 7c 20 73  verbose 2>&1 | s
f490: 65 64 20 2d 6e 20 27 73 2f 5e 4f 55 54 50 55 54  ed -n 's/^OUTPUT
f4a0: 5f 46 4f 52 4d 41 54 28 22 5c 28 5b 5e 22 5d 2a  _FORMAT("\([^"]*
f4b0: 5c 29 22 2c 2e 2a 2f 5c 31 2f 70 27 29 3b 0a 20  \)",.*/\1/p');. 
f4c0: 20 20 20 5b 5b 20 2d 6e 20 24 7b 6f 75 74 70 75     [[ -n ${outpu
f4d0: 74 5f 66 6f 72 6d 61 74 7d 20 5d 5d 20 26 26 20  t_format} ]] && 
f4e0: 6f 75 74 70 75 74 5f 66 6f 72 6d 61 74 3d 22 4f  output_format="O
f4f0: 55 54 50 55 54 5f 46 4f 52 4d 41 54 20 28 20 24  UTPUT_FORMAT ( $
f500: 7b 6f 75 74 70 75 74 5f 66 6f 72 6d 61 74 7d 20  {output_format} 
f510: 29 22 3b 0a 20 20 20 20 66 6f 72 20 6c 69 62 20  )";.    for lib 
f520: 69 6e 20 22 24 40 22 3b 0a 20 20 20 20 64 6f 0a  in "$@";.    do.
f530: 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 74 6c          local tl
f540: 69 62 3b 0a 20 20 20 20 20 20 20 20 69 66 20 24  ib;.        if $
f550: 7b 61 75 74 6f 7d 3b 20 74 68 65 6e 0a 20 20 20  {auto}; then.   
f560: 20 20 20 20 20 20 20 20 20 6c 69 62 3d 22 6c 69           lib="li
f570: 62 24 7b 6c 69 62 7d 24 7b 73 75 66 66 69 78 7d  b${lib}${suffix}
f580: 22 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a  ";.        else.
f590: 20 20 20 20 20 20 20 20 20 20 20 20 5b 5b 20 2d              [[ -
f5a0: 72 20 24 7b 45 44 7d 2f 24 7b 6c 69 62 64 69 72  r ${ED}/${libdir
f5b0: 7d 2f 24 7b 6c 69 62 7d 20 5d 5d 20 7c 7c 20 63  }/${lib} ]] || c
f5c0: 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20  ontinue;.       
f5d0: 20 66 69 3b 0a 20 20 20 20 20 20 20 20 63 61 73   fi;.        cas
f5e0: 65 20 24 7b 43 54 41 52 47 45 54 3a 2d 24 7b 43  e ${CTARGET:-${C
f5f0: 48 4f 53 54 7d 7d 20 69 6e 20 0a 20 20 20 20 20  HOST}} in .     
f600: 20 20 20 20 20 20 20 2a 2d 64 61 72 77 69 6e 2a         *-darwin*
f610: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
f620: 20 20 69 66 20 24 7b 61 75 74 6f 7d 3b 20 74 68    if ${auto}; th
f630: 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  en.             
f640: 20 20 20 20 20 20 20 74 6c 69 62 3d 24 28 73 63         tlib=$(sc
f650: 61 6e 6d 61 63 68 6f 20 2d 71 46 27 25 53 23 46  anmacho -qF'%S#F
f660: 27 20 22 24 7b 45 44 7d 22 2f 75 73 72 2f 24 7b  ' "${ED}"/usr/${
f670: 6c 69 62 64 69 72 7d 2f 24 7b 6c 69 62 7d 29 3b  libdir}/${lib});
f680: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
f690: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20   else.          
f6a0: 20 20 20 20 20 20 20 20 20 20 74 6c 69 62 3d 24            tlib=$
f6b0: 28 73 63 61 6e 6d 61 63 68 6f 20 2d 71 46 27 25  (scanmacho -qF'%
f6c0: 53 23 46 27 20 22 24 7b 45 44 7d 22 2f 24 7b 6c  S#F' "${ED}"/${l
f6d0: 69 62 64 69 72 7d 2f 24 7b 6c 69 62 7d 29 3b 0a  ibdir}/${lib});.
f6e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
f6f0: 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  fi;.            
f700: 20 20 20 20 5b 5b 20 2d 7a 20 24 7b 74 6c 69 62      [[ -z ${tlib
f710: 7d 20 5d 5d 20 26 26 20 64 69 65 20 22 75 6e 61  } ]] && die "una
f720: 62 6c 65 20 74 6f 20 72 65 61 64 20 69 6e 73 74  ble to read inst
f730: 61 6c 6c 5f 6e 61 6d 65 20 66 72 6f 6d 20 24 7b  all_name from ${
f740: 6c 69 62 7d 22 3b 0a 20 20 20 20 20 20 20 20 20  lib}";.         
f750: 20 20 20 20 20 20 20 74 6c 69 62 3d 24 7b 74 6c         tlib=${tl
f760: 69 62 23 23 2a 2f 7d 3b 0a 20 20 20 20 20 20 20  ib##*/};.       
f770: 20 20 20 20 20 20 20 20 20 69 66 20 24 7b 61 75           if ${au
f780: 74 6f 7d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  to}; then.      
f790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 76                mv
f7a0: 20 22 24 7b 45 44 7d 22 2f 75 73 72 2f 24 7b 6c   "${ED}"/usr/${l
f7b0: 69 62 64 69 72 7d 2f 24 7b 6c 69 62 25 24 7b 73  ibdir}/${lib%${s
f7c0: 75 66 66 69 78 7d 7d 2e 2a 24 7b 73 75 66 66 69  uffix}}.*${suffi
f7d0: 78 23 2e 7d 20 22 24 7b 45 44 7d 22 2f 24 7b 6c  x#.} "${ED}"/${l
f7e0: 69 62 64 69 72 7d 2f 20 7c 7c 20 64 69 65 3b 0a  ibdir}/ || die;.
f7f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
f800: 20 20 20 20 72 6d 20 2d 66 20 22 24 7b 45 44 7d      rm -f "${ED}
f810: 22 2f 24 7b 6c 69 62 64 69 72 7d 2f 24 7b 6c 69  "/${libdir}/${li
f820: 62 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  b};.            
f830: 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20      fi;.        
f840: 20 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 5f          install_
f850: 6e 61 6d 65 5f 74 6f 6f 6c 20 2d 69 64 20 22 24  name_tool -id "$
f860: 7b 45 50 52 45 46 49 58 7d 22 2f 24 7b 6c 69 62  {EPREFIX}"/${lib
f870: 64 69 72 7d 2f 24 7b 74 6c 69 62 7d 20 22 24 7b  dir}/${tlib} "${
f880: 45 44 7d 22 2f 24 7b 6c 69 62 64 69 72 7d 2f 24  ED}"/${libdir}/$
f890: 7b 74 6c 69 62 7d 3b 0a 20 20 20 20 20 20 20 20  {tlib};.        
f8a0: 20 20 20 20 20 20 20 20 70 75 73 68 64 20 22 24          pushd "$
f8b0: 7b 45 44 7d 2f 75 73 72 2f 24 7b 6c 69 62 64 69  {ED}/usr/${libdi
f8c0: 72 7d 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b  r}" > /dev/null;
f8d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
f8e0: 20 6c 6e 20 2d 73 6e 66 20 22 2e 2e 2f 2e 2e 2f   ln -snf "../../
f8f0: 24 7b 6c 69 62 64 69 72 7d 2f 24 7b 74 6c 69 62  ${libdir}/${tlib
f900: 7d 22 20 22 24 7b 6c 69 62 7d 22 3b 0a 20 20 20  }" "${lib}";.   
f910: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 70               pop
f920: 64 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 20 20  d > /dev/null.  
f930: 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20            ;;.   
f940: 20 20 20 20 20 20 20 20 20 2a 2d 61 69 78 2a 20           *-aix* 
f950: 7c 20 2a 2d 69 72 69 78 2a 20 7c 20 2a 2d 68 70  | *-irix* | *-hp
f960: 75 78 2a 20 7c 20 2a 2d 69 6e 74 65 72 69 78 2a  ux* | *-interix*
f970: 20 7c 20 2a 2d 77 69 6e 6e 74 2a 29 0a 20 20 20   | *-winnt*).   
f980: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
f990: 24 7b 61 75 74 6f 7d 3b 20 74 68 65 6e 0a 20 20  ${auto}; then.  
f9a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
f9b0: 20 20 6d 76 20 22 24 7b 45 44 7d 22 2f 75 73 72    mv "${ED}"/usr
f9c0: 2f 24 7b 6c 69 62 64 69 72 7d 2f 24 7b 6c 69 62  /${libdir}/${lib
f9d0: 7d 2a 20 22 24 7b 45 44 7d 22 2f 24 7b 6c 69 62  }* "${ED}"/${lib
f9e0: 64 69 72 7d 2f 20 7c 7c 20 64 69 65 3b 0a 20 20  dir}/ || die;.  
f9f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
fa00: 20 20 74 6c 69 62 3d 24 28 72 65 61 64 6c 69 6e    tlib=$(readlin
fa10: 6b 20 22 24 7b 45 44 7d 22 2f 24 7b 6c 69 62 64  k "${ED}"/${libd
fa20: 69 72 7d 2f 24 7b 6c 69 62 7d 29 3b 0a 20 20 20  ir}/${lib});.   
fa30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
fa40: 20 74 6c 69 62 3d 24 7b 74 6c 69 62 23 23 2a 2f   tlib=${tlib##*/
fa50: 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  };.             
fa60: 20 20 20 20 20 20 20 69 66 20 5b 5b 20 2d 7a 20         if [[ -z 
fa70: 24 7b 74 6c 69 62 7d 20 5d 5d 3b 20 74 68 65 6e  ${tlib} ]]; then
fa80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
fa90: 20 20 20 20 20 20 20 20 20 74 6c 69 62 3d 24 7b           tlib=${
faa0: 6c 69 62 7d 3b 0a 20 20 20 20 20 20 20 20 20 20  lib};.          
fab0: 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20            else. 
fac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
fad0: 20 20 20 20 20 20 20 72 6d 20 2d 66 20 22 24 7b         rm -f "${
fae0: 45 44 7d 22 2f 24 7b 6c 69 62 64 69 72 7d 2f 24  ED}"/${libdir}/$
faf0: 7b 6c 69 62 7d 3b 0a 20 20 20 20 20 20 20 20 20  {lib};.         
fb00: 20 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20             fi;. 
fb10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65                 e
fb20: 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  lse.            
fb30: 20 20 20 20 20 20 20 20 74 6c 69 62 3d 24 7b 6c          tlib=${l
fb40: 69 62 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20  ib};.           
fb50: 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20       fi;.       
fb60: 20 20 20 20 20 20 20 20 20 70 75 73 68 64 20 22           pushd "
fb70: 24 7b 45 44 7d 2f 75 73 72 2f 24 7b 6c 69 62 64  ${ED}/usr/${libd
fb80: 69 72 7d 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c  ir}" > /dev/null
fb90: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
fba0: 20 20 6c 6e 20 2d 73 6e 66 20 22 2e 2e 2f 2e 2e    ln -snf "../..
fbb0: 2f 24 7b 6c 69 62 64 69 72 7d 2f 24 7b 74 6c 69  /${libdir}/${tli
fbc0: 62 7d 22 20 22 24 7b 6c 69 62 7d 22 3b 0a 20 20  b}" "${lib}";.  
fbd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f                po
fbe0: 70 64 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 20  pd > /dev/null. 
fbf0: 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
fc00: 20 20 20 20 20 20 20 20 20 20 2a 29 0a 20 20 20            *).   
fc10: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
fc20: 24 7b 61 75 74 6f 7d 3b 20 74 68 65 6e 0a 20 20  ${auto}; then.  
fc30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
fc40: 20 20 74 6c 69 62 3d 24 28 73 63 61 6e 65 6c 66    tlib=$(scanelf
fc50: 20 2d 71 46 27 25 53 23 46 27 20 22 24 7b 45 44   -qF'%S#F' "${ED
fc60: 7d 22 2f 75 73 72 2f 24 7b 6c 69 62 64 69 72 7d  }"/usr/${libdir}
fc70: 2f 24 7b 6c 69 62 7d 29 3b 0a 20 20 20 20 20 20  /${lib});.      
fc80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5b                [[
fc90: 20 2d 7a 20 24 7b 74 6c 69 62 7d 20 5d 5d 20 26   -z ${tlib} ]] &
fca0: 26 20 64 69 65 20 22 75 6e 61 62 6c 65 20 74 6f  & die "unable to
fcb0: 20 72 65 61 64 20 53 4f 4e 41 4d 45 20 66 72 6f   read SONAME fro
fcc0: 6d 20 24 7b 6c 69 62 7d 22 3b 0a 20 20 20 20 20  m ${lib}";.     
fcd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d                 m
fce0: 76 20 22 24 7b 45 44 7d 22 2f 75 73 72 2f 24 7b  v "${ED}"/usr/${
fcf0: 6c 69 62 64 69 72 7d 2f 24 7b 6c 69 62 7d 2a 20  libdir}/${lib}* 
fd00: 22 24 7b 45 44 7d 22 2f 24 7b 6c 69 62 64 69 72  "${ED}"/${libdir
fd10: 7d 2f 20 7c 7c 20 64 69 65 3b 0a 20 20 20 20 20  }/ || die;.     
fd20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
fd30: 66 20 5b 5b 20 24 7b 74 6c 69 62 7d 20 21 3d 20  f [[ ${tlib} != 
fd40: 24 7b 6c 69 62 7d 2a 20 5d 5d 3b 20 74 68 65 6e  ${lib}* ]]; then
fd50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
fd60: 20 20 20 20 20 20 20 20 20 6d 76 20 22 24 7b 45           mv "${E
fd70: 44 7d 22 2f 75 73 72 2f 24 7b 6c 69 62 64 69 72  D}"/usr/${libdir
fd80: 7d 2f 24 7b 74 6c 69 62 7d 2a 20 22 24 7b 45 44  }/${tlib}* "${ED
fd90: 7d 22 2f 24 7b 6c 69 62 64 69 72 7d 2f 20 7c 7c  }"/${libdir}/ ||
fda0: 20 64 69 65 3b 0a 20 20 20 20 20 20 20 20 20 20   die;.          
fdb0: 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20            fi;.  
fdc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
fdd0: 20 20 72 6d 20 2d 66 20 22 24 7b 45 44 7d 22 2f    rm -f "${ED}"/
fde0: 24 7b 6c 69 62 64 69 72 7d 2f 24 7b 6c 69 62 7d  ${libdir}/${lib}
fdf0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
fe00: 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20    else.         
fe10: 20 20 20 20 20 20 20 20 20 20 20 74 6c 69 62 3d             tlib=
fe20: 24 7b 6c 69 62 7d 3b 0a 20 20 20 20 20 20 20 20  ${lib};.        
fe30: 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20          fi;.    
fe40: 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 20              cat 
fe50: 3e 20 22 24 7b 45 44 7d 2f 75 73 72 2f 24 7b 6c  > "${ED}/usr/${l
fe60: 69 62 64 69 72 7d 2f 24 7b 6c 69 62 7d 22 20 20  ibdir}/${lib}"  
fe70: 3c 3c 2d 45 4e 44 5f 4c 44 53 43 52 49 50 54 0a  <<-END_LDSCRIPT.
fe80: 2f 2a 20 47 4e 55 20 6c 64 20 73 63 72 69 70 74  /* GNU ld script
fe90: 0a 20 20 20 53 69 6e 63 65 20 47 65 6e 74 6f 6f  .   Since Gentoo
fea0: 20 68 61 73 20 63 72 69 74 69 63 61 6c 20 64 79   has critical dy
feb0: 6e 61 6d 69 63 20 6c 69 62 72 61 72 69 65 73 20  namic libraries 
fec0: 69 6e 20 2f 6c 69 62 2c 20 61 6e 64 20 74 68 65  in /lib, and the
fed0: 20 73 74 61 74 69 63 20 76 65 72 73 69 6f 6e 73   static versions
fee0: 0a 20 20 20 69 6e 20 2f 75 73 72 2f 6c 69 62 2c  .   in /usr/lib,
fef0: 20 77 65 20 6e 65 65 64 20 74 6f 20 68 61 76 65   we need to have
ff00: 20 61 20 22 66 61 6b 65 22 20 64 79 6e 61 6d 69   a "fake" dynami
ff10: 63 20 6c 69 62 20 69 6e 20 2f 75 73 72 2f 6c 69  c lib in /usr/li
ff20: 62 2c 20 6f 74 68 65 72 77 69 73 65 20 77 65 0a  b, otherwise we.
ff30: 20 20 20 72 75 6e 20 69 6e 74 6f 20 6c 69 6e 6b     run into link
ff40: 69 6e 67 20 70 72 6f 62 6c 65 6d 73 2e 20 20 54  ing problems.  T
ff50: 68 69 73 20 22 66 61 6b 65 22 20 64 79 6e 61 6d  his "fake" dynam
ff60: 69 63 20 6c 69 62 20 69 73 20 61 20 6c 69 6e 6b  ic lib is a link
ff70: 65 72 20 73 63 72 69 70 74 20 74 68 61 74 0a 20  er script that. 
ff80: 20 20 72 65 64 69 72 65 63 74 73 20 74 68 65 20    redirects the 
ff90: 6c 69 6e 6b 65 72 20 74 6f 20 74 68 65 20 72 65  linker to the re
ffa0: 61 6c 20 6c 69 62 2e 20 20 41 6e 64 20 79 65 73  al lib.  And yes
ffb0: 2c 20 74 68 69 73 20 77 6f 72 6b 73 20 69 6e 20  , this works in 
ffc0: 74 68 65 20 63 72 6f 73 73 2d 0a 20 20 20 63 6f  the cross-.   co
ffd0: 6d 70 69 6c 69 6e 67 20 73 63 65 6e 61 72 69 6f  mpiling scenario
ffe0: 20 61 73 20 74 68 65 20 73 79 73 72 6f 6f 74 2d   as the sysroot-
fff0: 65 64 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20 70  ed linker will p
10000 72 65 70 65 6e 64 20 74 68 65 20 72 65 61 6c 20  repend the real 
10010 70 61 74 68 2e 0a 0a 20 20 20 53 65 65 20 62 75  path...   See bu
10020 67 20 68 74 74 70 3a 2f 2f 62 75 67 73 2e 67 65  g http://bugs.ge
10030 6e 74 6f 6f 2e 6f 72 67 2f 34 34 31 31 20 66 6f  ntoo.org/4411 fo
10040 72 20 6d 6f 72 65 20 69 6e 66 6f 2e 0a 20 2a 2f  r more info.. */
10050 0a 24 7b 6f 75 74 70 75 74 5f 66 6f 72 6d 61 74  .${output_format
10060 7d 0a 47 52 4f 55 50 20 28 20 24 7b 45 50 52 45  }.GROUP ( ${EPRE
10070 46 49 58 7d 2f 24 7b 6c 69 62 64 69 72 7d 2f 24  FIX}/${libdir}/$
10080 7b 74 6c 69 62 7d 20 29 0a 45 4e 44 5f 4c 44 53  {tlib} ).END_LDS
10090 43 52 49 50 54 0a 0a 20 20 20 20 20 20 20 20 20  CRIPT..         
100a0 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 65 73     ;;.        es
100b0 61 63 0a 20 20 20 20 20 20 20 20 66 70 65 72 6d  ac.        fperm
100c0 73 20 61 2b 78 20 22 2f 75 73 72 2f 24 7b 6c 69  s a+x "/usr/${li
100d0 62 64 69 72 7d 2f 24 7b 6c 69 62 7d 22 20 7c 7c  bdir}/${lib}" ||
100e0 20 64 69 65 20 22 63 6f 75 6c 64 20 6e 6f 74 20   die "could not 
100f0 63 68 61 6e 67 65 20 70 65 72 6d 73 20 6f 6e 20  change perms on 
10100 24 7b 6c 69 62 7d 22 3b 0a 20 20 20 20 64 6f 6e  ${lib}";.    don
10110 65 0a 7d 0a 67 65 74 5f 61 62 69 5f 41 53 46 4c  e.}.get_abi_ASFL
10120 41 47 53 20 28 29 20 0a 7b 20 0a 20 20 20 20 67  AGS () .{ .    g
10130 65 74 5f 61 62 69 5f 76 61 72 20 41 53 46 4c 41  et_abi_var ASFLA
10140 47 53 20 22 24 40 22 0a 7d 0a 67 65 74 5f 61 62  GS "$@".}.get_ab
10150 69 5f 43 44 45 46 49 4e 45 20 28 29 20 0a 7b 20  i_CDEFINE () .{ 
10160 0a 20 20 20 20 67 65 74 5f 61 62 69 5f 76 61 72  .    get_abi_var
10170 20 43 44 45 46 49 4e 45 20 22 24 40 22 0a 7d 0a   CDEFINE "$@".}.
10180 67 65 74 5f 61 62 69 5f 43 46 4c 41 47 53 20 28  get_abi_CFLAGS (
10190 29 20 0a 7b 20 0a 20 20 20 20 67 65 74 5f 61 62  ) .{ .    get_ab
101a0 69 5f 76 61 72 20 43 46 4c 41 47 53 20 22 24 40  i_var CFLAGS "$@
101b0 22 0a 7d 0a 67 65 74 5f 61 62 69 5f 43 48 4f 53  ".}.get_abi_CHOS
101c0 54 20 28 29 20 0a 7b 20 0a 20 20 20 20 67 65 74  T () .{ .    get
101d0 5f 61 62 69 5f 76 61 72 20 43 48 4f 53 54 20 22  _abi_var CHOST "
101e0 24 40 22 0a 7d 0a 67 65 74 5f 61 62 69 5f 43 54  $@".}.get_abi_CT
101f0 41 52 47 45 54 20 28 29 20 0a 7b 20 0a 20 20 20  ARGET () .{ .   
10200 20 67 65 74 5f 61 62 69 5f 76 61 72 20 43 54 41   get_abi_var CTA
10210 52 47 45 54 20 22 24 40 22 0a 7d 0a 67 65 74 5f  RGET "$@".}.get_
10220 61 62 69 5f 46 41 4b 45 5f 54 41 52 47 45 54 53  abi_FAKE_TARGETS
10230 20 28 29 20 0a 7b 20 0a 20 20 20 20 67 65 74 5f   () .{ .    get_
10240 61 62 69 5f 76 61 72 20 46 41 4b 45 5f 54 41 52  abi_var FAKE_TAR
10250 47 45 54 53 20 22 24 40 22 0a 7d 0a 67 65 74 5f  GETS "$@".}.get_
10260 61 62 69 5f 4c 44 46 4c 41 47 53 20 28 29 20 0a  abi_LDFLAGS () .
10270 7b 20 0a 20 20 20 20 67 65 74 5f 61 62 69 5f 76  { .    get_abi_v
10280 61 72 20 4c 44 46 4c 41 47 53 20 22 24 40 22 0a  ar LDFLAGS "$@".
10290 7d 0a 67 65 74 5f 61 62 69 5f 4c 49 42 44 49 52  }.get_abi_LIBDIR
102a0 20 28 29 20 0a 7b 20 0a 20 20 20 20 67 65 74 5f   () .{ .    get_
102b0 61 62 69 5f 76 61 72 20 4c 49 42 44 49 52 20 22  abi_var LIBDIR "
102c0 24 40 22 0a 7d 0a 67 65 74 5f 61 62 69 5f 76 61  $@".}.get_abi_va
102d0 72 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63  r () .{ .    loc
102e0 61 6c 20 66 6c 61 67 3d 24 31 3b 0a 20 20 20 20  al flag=$1;.    
102f0 6c 6f 63 61 6c 20 61 62 69 3b 0a 20 20 20 20 69  local abi;.    i
10300 66 20 5b 20 24 23 20 2d 67 74 20 31 20 5d 3b 20  f [ $# -gt 1 ]; 
10310 74 68 65 6e 0a 20 20 20 20 20 20 20 20 61 62 69  then.        abi
10320 3d 24 7b 32 7d 3b 0a 20 20 20 20 65 6c 73 65 0a  =${2};.    else.
10330 20 20 20 20 20 20 20 20 69 66 20 5b 20 2d 6e 20          if [ -n 
10340 22 24 7b 41 42 49 7d 22 20 5d 3b 20 74 68 65 6e  "${ABI}" ]; then
10350 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 62 69  .            abi
10360 3d 24 7b 41 42 49 7d 3b 0a 20 20 20 20 20 20 20  =${ABI};.       
10370 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20   else.          
10380 20 20 69 66 20 5b 20 2d 6e 20 22 24 7b 44 45 46    if [ -n "${DEF
10390 41 55 4c 54 5f 41 42 49 7d 22 20 5d 3b 20 74 68  AULT_ABI}" ]; th
103a0 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  en.             
103b0 20 20 20 61 62 69 3d 24 7b 44 45 46 41 55 4c 54     abi=${DEFAULT
103c0 5f 41 42 49 7d 3b 0a 20 20 20 20 20 20 20 20 20  _ABI};.         
103d0 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20     else.        
103e0 20 20 20 20 20 20 20 20 61 62 69 3d 22 64 65 66          abi="def
103f0 61 75 6c 74 22 3b 0a 20 20 20 20 20 20 20 20 20  ault";.         
10400 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 66     fi;.        f
10410 69 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 6c  i;.    fi;.    l
10420 6f 63 61 6c 20 76 61 72 3d 22 24 7b 66 6c 61 67  ocal var="${flag
10430 7d 5f 24 7b 61 62 69 7d 22 3b 0a 20 20 20 20 65  }_${abi}";.    e
10440 63 68 6f 20 24 7b 21 76 61 72 7d 0a 7d 0a 67 65  cho ${!var}.}.ge
10450 74 5f 61 6c 6c 5f 61 62 69 73 20 28 29 20 0a 7b  t_all_abis () .{
10460 20 0a 20 20 20 20 6c 6f 63 61 6c 20 6f 72 64 65   .    local orde
10470 72 3d 22 22 3b 0a 20 20 20 20 69 66 20 5b 5b 20  r="";.    if [[ 
10480 2d 7a 20 24 7b 4d 55 4c 54 49 4c 49 42 5f 41 42  -z ${MULTILIB_AB
10490 49 53 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  IS} ]]; then.   
104a0 20 20 20 20 20 65 63 68 6f 20 22 64 65 66 61 75       echo "defau
104b0 6c 74 22 3b 0a 20 20 20 20 20 20 20 20 72 65 74  lt";.        ret
104c0 75 72 6e 20 30 3b 0a 20 20 20 20 66 69 3b 0a 20  urn 0;.    fi;. 
104d0 20 20 20 66 6f 72 20 78 20 69 6e 20 24 7b 4d 55     for x in ${MU
104e0 4c 54 49 4c 49 42 5f 41 42 49 53 7d 3b 0a 20 20  LTILIB_ABIS};.  
104f0 20 20 64 6f 0a 20 20 20 20 20 20 20 20 69 66 20    do.        if 
10500 5b 5b 20 24 7b 78 7d 20 21 3d 20 24 7b 44 45 46  [[ ${x} != ${DEF
10510 41 55 4c 54 5f 41 42 49 7d 20 5d 5d 3b 20 74 68  AULT_ABI} ]]; th
10520 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f  en.            o
10530 72 64 65 72 3d 22 24 7b 6f 72 64 65 72 3a 2b 24  rder="${order:+$
10540 7b 6f 72 64 65 72 7d 20 7d 24 7b 78 7d 22 3b 0a  {order} }${x}";.
10550 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20          fi;.    
10560 64 6f 6e 65 3b 0a 20 20 20 20 6f 72 64 65 72 3d  done;.    order=
10570 22 24 7b 6f 72 64 65 72 3a 2b 24 7b 6f 72 64 65  "${order:+${orde
10580 72 7d 20 7d 24 7b 44 45 46 41 55 4c 54 5f 41 42  r} }${DEFAULT_AB
10590 49 7d 22 3b 0a 20 20 20 20 65 63 68 6f 20 24 7b  I}";.    echo ${
105a0 6f 72 64 65 72 7d 3b 0a 20 20 20 20 72 65 74 75  order};.    retu
105b0 72 6e 20 30 0a 7d 0a 67 65 74 5f 61 6c 6c 5f 6c  rn 0.}.get_all_l
105c0 69 62 64 69 72 73 20 28 29 20 0a 7b 20 0a 20 20  ibdirs () .{ .  
105d0 20 20 6c 6f 63 61 6c 20 6c 69 62 64 69 72 73 3d    local libdirs=
105e0 22 6c 69 62 22 3b 0a 20 20 20 20 6c 6f 63 61 6c  "lib";.    local
105f0 20 61 62 69 3b 0a 20 20 20 20 6c 6f 63 61 6c 20   abi;.    local 
10600 64 69 72 3b 0a 20 20 20 20 66 6f 72 20 61 62 69  dir;.    for abi
10610 20 69 6e 20 24 7b 4d 55 4c 54 49 4c 49 42 5f 41   in ${MULTILIB_A
10620 42 49 53 7d 3b 0a 20 20 20 20 64 6f 0a 20 20 20  BIS};.    do.   
10630 20 20 20 20 20 5b 20 22 24 28 67 65 74 5f 61 62       [ "$(get_ab
10640 69 5f 4c 49 42 44 49 52 20 24 7b 61 62 69 7d 29  i_LIBDIR ${abi})
10650 22 20 21 3d 20 22 6c 69 62 22 20 5d 20 26 26 20  " != "lib" ] && 
10660 6c 69 62 64 69 72 73 3d 22 24 7b 6c 69 62 64 69  libdirs="${libdi
10670 72 73 7d 20 24 28 67 65 74 5f 61 62 69 5f 4c 49  rs} $(get_abi_LI
10680 42 44 49 52 20 24 7b 61 62 69 7d 29 22 3b 0a 20  BDIR ${abi})";. 
10690 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 65 63 68     done;.    ech
106a0 6f 20 22 24 7b 6c 69 62 64 69 72 73 7d 22 0a 7d  o "${libdirs}".}
106b0 0a 67 65 74 5f 62 6d 61 6b 65 20 28 29 20 0a 7b  .get_bmake () .{
106c0 20 0a 20 20 20 20 69 66 20 5b 5b 20 24 7b 55 53   .    if [[ ${US
106d0 45 52 4c 41 4e 44 7d 20 3d 3d 20 2a 42 53 44 20  ERLAND} == *BSD 
106e0 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
106f0 20 65 63 68 6f 20 6d 61 6b 65 3b 0a 20 20 20 20   echo make;.    
10700 65 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20  else.        if 
10710 5b 5b 20 24 7b 55 53 45 52 4c 41 4e 44 7d 20 3d  [[ ${USERLAND} =
10720 3d 20 22 44 61 72 77 69 6e 22 20 5d 5d 3b 20 74  = "Darwin" ]]; t
10730 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20  hen.            
10740 65 63 68 6f 20 62 73 64 6d 61 6b 65 3b 0a 20 20  echo bsdmake;.  
10750 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
10760 20 20 20 20 20 20 20 65 63 68 6f 20 70 6d 61 6b         echo pmak
10770 65 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20  e;.        fi;. 
10780 20 20 20 66 69 0a 7d 0a 67 65 74 5f 69 6e 73 74     fi.}.get_inst
10790 61 6c 6c 5f 61 62 69 73 20 28 29 20 0a 7b 20 0a  all_abis () .{ .
107a0 20 20 20 20 6c 6f 63 61 6c 20 6f 72 64 65 72 3d      local order=
107b0 22 22 3b 0a 20 20 20 20 69 66 20 5b 5b 20 2d 7a  "";.    if [[ -z
107c0 20 24 7b 4d 55 4c 54 49 4c 49 42 5f 41 42 49 53   ${MULTILIB_ABIS
107d0 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  } ]]; then.     
107e0 20 20 20 65 63 68 6f 20 22 64 65 66 61 75 6c 74     echo "default
107f0 22 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72  ";.        retur
10800 6e 20 30 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20  n 0;.    fi;.   
10810 20 69 66 20 5b 5b 20 24 7b 45 4d 55 4c 54 49 4c   if [[ ${EMULTIL
10820 49 42 5f 50 4b 47 7d 20 3d 3d 20 22 74 72 75 65  IB_PKG} == "true
10830 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  " ]]; then.     
10840 20 20 20 66 6f 72 20 78 20 69 6e 20 24 7b 4d 55     for x in ${MU
10850 4c 54 49 4c 49 42 5f 41 42 49 53 7d 3b 0a 20 20  LTILIB_ABIS};.  
10860 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20        do.       
10870 20 20 20 20 20 69 66 20 5b 5b 20 24 7b 78 7d 20       if [[ ${x} 
10880 21 3d 20 22 24 7b 44 45 46 41 55 4c 54 5f 41 42  != "${DEFAULT_AB
10890 49 7d 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  I}" ]]; then.   
108a0 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 73               has
108b0 71 20 24 7b 78 7d 20 24 7b 41 42 49 5f 44 45 4e  q ${x} ${ABI_DEN
108c0 59 7d 20 7c 7c 20 6f 72 64 65 72 61 3d 22 24 7b  Y} || ordera="${
108d0 6f 72 64 65 72 61 7d 20 24 7b 78 7d 22 3b 0a 20  ordera} ${x}";. 
108e0 20 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20             fi;. 
108f0 20 20 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20         done;.   
10900 20 20 20 20 20 68 61 73 71 20 24 7b 44 45 46 41       hasq ${DEFA
10910 55 4c 54 5f 41 42 49 7d 20 24 7b 41 42 49 5f 44  ULT_ABI} ${ABI_D
10920 45 4e 59 7d 20 7c 7c 20 6f 72 64 65 72 3d 22 24  ENY} || order="$
10930 7b 6f 72 64 65 72 61 7d 20 24 7b 44 45 46 41 55  {ordera} ${DEFAU
10940 4c 54 5f 41 42 49 7d 22 3b 0a 20 20 20 20 20 20  LT_ABI}";.      
10950 20 20 69 66 20 5b 5b 20 2d 6e 20 24 7b 41 42 49    if [[ -n ${ABI
10960 5f 41 4c 4c 4f 57 7d 20 5d 5d 3b 20 74 68 65 6e  _ALLOW} ]]; then
10970 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63  .            loc
10980 61 6c 20 6f 72 64 65 72 61 3d 22 22 3b 0a 20 20  al ordera="";.  
10990 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 78 20            for x 
109a0 69 6e 20 24 7b 6f 72 64 65 72 7d 3b 0a 20 20 20  in ${order};.   
109b0 20 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20           do.    
109c0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 68              if h
109d0 61 73 71 20 24 7b 78 7d 20 24 7b 41 42 49 5f 41  asq ${x} ${ABI_A
109e0 4c 4c 4f 57 7d 3b 20 74 68 65 6e 0a 20 20 20 20  LLOW}; then.    
109f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
10a00 6f 72 64 65 72 61 3d 22 24 7b 6f 72 64 65 72 61  ordera="${ordera
10a10 7d 20 24 7b 78 7d 22 3b 0a 20 20 20 20 20 20 20  } ${x}";.       
10a20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20           fi;.   
10a30 20 20 20 20 20 20 20 20 20 64 6f 6e 65 3b 0a 20           done;. 
10a40 20 20 20 20 20 20 20 20 20 20 20 6f 72 64 65 72             order
10a50 3d 24 7b 6f 72 64 65 72 61 7d 3b 0a 20 20 20 20  =${ordera};.    
10a60 20 20 20 20 66 69 3b 0a 20 20 20 20 65 6c 73 65      fi;.    else
10a70 0a 20 20 20 20 20 20 20 20 6f 72 64 65 72 3d 24  .        order=$
10a80 7b 44 45 46 41 55 4c 54 5f 41 42 49 7d 3b 0a 20  {DEFAULT_ABI};. 
10a90 20 20 20 66 69 3b 0a 20 20 20 20 69 66 20 5b 5b     fi;.    if [[
10aa0 20 2d 7a 20 24 7b 6f 72 64 65 72 7d 20 5d 5d 3b   -z ${order} ]];
10ab0 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 64 69   then.        di
10ac0 65 20 22 54 68 65 20 41 42 49 20 6c 69 73 74 20  e "The ABI list 
10ad0 69 73 20 65 6d 70 74 79 2e 20 20 41 72 65 20 79  is empty.  Are y
10ae0 6f 75 20 75 73 69 6e 67 20 61 20 70 72 6f 70 65  ou using a prope
10af0 72 20 6d 75 6c 74 69 6c 69 62 20 70 72 6f 66 69  r multilib profi
10b00 6c 65 3f 20 20 50 65 72 68 61 70 73 20 79 6f 75  le?  Perhaps you
10b10 72 20 55 53 45 20 66 6c 61 67 73 20 6f 72 20 4d  r USE flags or M
10b20 55 4c 54 49 4c 49 42 5f 41 42 49 53 20 61 72 65  ULTILIB_ABIS are
10b30 20 74 6f 6f 20 72 65 73 74 72 69 63 74 69 76 65   too restrictive
10b40 20 66 6f 72 20 74 68 69 73 20 70 61 63 6b 61 67   for this packag
10b50 65 2e 22 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20  e.";.    fi;.   
10b60 20 65 63 68 6f 20 24 7b 6f 72 64 65 72 7d 3b 0a   echo ${order};.
10b70 20 20 20 20 72 65 74 75 72 6e 20 30 0a 7d 0a 67      return 0.}.g
10b80 65 74 5f 6c 69 62 64 69 72 20 28 29 20 0a 7b 20  et_libdir () .{ 
10b90 0a 20 20 20 20 6c 6f 63 61 6c 20 43 4f 4e 46 5f  .    local CONF_
10ba0 4c 49 42 44 49 52 3b 0a 20 20 20 20 69 66 20 5b  LIBDIR;.    if [
10bb0 20 2d 6e 20 22 24 7b 43 4f 4e 46 5f 4c 49 42 44   -n "${CONF_LIBD
10bc0 49 52 5f 4f 56 45 52 52 49 44 45 7d 22 20 5d 3b  IR_OVERRIDE}" ];
10bd0 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 65 63   then.        ec
10be0 68 6f 20 24 7b 43 4f 4e 46 5f 4c 49 42 44 49 52  ho ${CONF_LIBDIR
10bf0 5f 4f 56 45 52 52 49 44 45 7d 3b 0a 20 20 20 20  _OVERRIDE};.    
10c00 65 6c 73 65 0a 20 20 20 20 20 20 20 20 67 65 74  else.        get
10c10 5f 61 62 69 5f 4c 49 42 44 49 52 3b 0a 20 20 20  _abi_LIBDIR;.   
10c20 20 66 69 0a 7d 0a 67 65 74 5f 6c 69 62 64 69 72   fi.}.get_libdir
10c30 5f 6f 76 65 72 72 69 64 65 20 28 29 20 0a 7b 20  _override () .{ 
10c40 0a 20 20 20 20 69 66 20 68 61 73 5f 6d 75 6c 74  .    if has_mult
10c50 69 6c 69 62 5f 70 72 6f 66 69 6c 65 3b 20 74 68  ilib_profile; th
10c60 65 6e 0a 20 20 20 20 20 20 20 20 65 65 72 72 6f  en.        eerro
10c70 72 20 22 67 65 74 5f 6c 69 62 64 69 72 5f 6f 76  r "get_libdir_ov
10c80 65 72 72 69 64 65 20 63 61 6c 6c 65 64 2c 20 62  erride called, b
10c90 75 74 20 69 74 20 73 68 6f 75 6c 64 6e 27 74 20  ut it shouldn't 
10ca0 62 65 20 6e 65 65 64 65 64 20 77 69 74 68 20 74  be needed with t
10cb0 68 65 20 6e 65 77 20 6d 75 6c 74 69 6c 69 62 20  he new multilib 
10cc0 61 70 70 72 6f 61 63 68 2e 20 20 50 6c 65 61 73  approach.  Pleas
10cd0 65 20 66 69 6c 65 20 61 20 62 75 67 20 61 74 20  e file a bug at 
10ce0 68 74 74 70 3a 2f 2f 62 75 67 73 2e 67 65 6e 74  http://bugs.gent
10cf0 6f 6f 2e 6f 72 67 20 61 6e 64 20 61 73 73 69 67  oo.org and assig
10d00 6e 20 69 74 20 74 6f 20 65 72 61 64 69 63 61 74  n it to eradicat
10d10 6f 72 40 67 65 6e 74 6f 6f 2e 6f 72 67 22 3b 0a  or@gentoo.org";.
10d20 20 20 20 20 20 20 20 20 65 78 69 74 20 31 3b 0a          exit 1;.
10d30 20 20 20 20 66 69 3b 0a 20 20 20 20 43 4f 4e 46      fi;.    CONF
10d40 5f 4c 49 42 44 49 52 3d 22 24 31 22 3b 0a 20 20  _LIBDIR="$1";.  
10d50 20 20 43 4f 4e 46 5f 4c 49 42 44 49 52 5f 4f 56    CONF_LIBDIR_OV
10d60 45 52 52 49 44 45 3d 22 24 31 22 3b 0a 20 20 20  ERRIDE="$1";.   
10d70 20 4c 49 42 44 49 52 5f 64 65 66 61 75 6c 74 3d   LIBDIR_default=
10d80 22 24 31 22 0a 7d 0a 67 65 74 5f 6c 69 62 6e 61  "$1".}.get_libna
10d90 6d 65 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f  me () .{ .    lo
10da0 63 61 6c 20 6c 69 62 6e 61 6d 65 3b 0a 20 20 20  cal libname;.   
10db0 20 6c 6f 63 61 6c 20 76 65 72 3d 24 31 3b 0a 20   local ver=$1;. 
10dc0 20 20 20 63 61 73 65 20 24 7b 43 48 4f 53 54 7d     case ${CHOST}
10dd0 20 69 6e 20 0a 20 20 20 20 20 20 20 20 2a 2d 63   in .        *-c
10de0 79 67 77 69 6e 20 7c 20 6d 69 6e 67 77 2a 20 7c  ygwin | mingw* |
10df0 20 2a 2d 6d 69 6e 67 77 2a 29 0a 20 20 20 20 20   *-mingw*).     
10e00 20 20 20 20 20 20 20 6c 69 62 6e 61 6d 65 3d 22         libname="
10e10 64 6c 6c 22 0a 20 20 20 20 20 20 20 20 3b 3b 0a  dll".        ;;.
10e20 20 20 20 20 20 20 20 20 2a 2d 64 61 72 77 69 6e          *-darwin
10e30 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c  *).            l
10e40 69 62 6e 61 6d 65 3d 22 64 79 6c 69 62 22 0a 20  ibname="dylib". 
10e50 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
10e60 20 20 2a 2d 61 69 78 2a 29 0a 20 20 20 20 20 20    *-aix*).      
10e70 20 20 20 20 20 20 6c 69 62 6e 61 6d 65 3d 22 61        libname="a
10e80 22 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20  ".        ;;.   
10e90 20 20 20 20 20 2a 2d 6d 69 6e 74 2a 29 0a 20 20       *-mint*).  
10ea0 20 20 20 20 20 20 20 20 20 20 6c 69 62 6e 61 6d            libnam
10eb0 65 3d 22 69 72 72 65 6c 65 76 61 6e 74 22 0a 20  e="irrelevant". 
10ec0 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
10ed0 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20    *).           
10ee0 20 6c 69 62 6e 61 6d 65 3d 22 73 6f 22 0a 20 20   libname="so".  
10ef0 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61        ;;.    esa
10f00 63 3b 0a 20 20 20 20 69 66 20 5b 5b 20 2d 7a 20  c;.    if [[ -z 
10f10 24 2a 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  $* ]]; then.    
10f20 20 20 20 20 65 63 68 6f 20 22 2e 24 7b 6c 69 62      echo ".${lib
10f30 6e 61 6d 65 7d 22 3b 0a 20 20 20 20 65 6c 73 65  name}";.    else
10f40 0a 20 20 20 20 20 20 20 20 66 6f 72 20 76 65 72  .        for ver
10f50 20 69 6e 20 22 24 40 22 3b 0a 20 20 20 20 20 20   in "$@";.      
10f60 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20    do.           
10f70 20 63 61 73 65 20 24 7b 43 48 4f 53 54 7d 20 69   case ${CHOST} i
10f80 6e 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  n .             
10f90 20 20 20 2a 2d 64 61 72 77 69 6e 2a 29 0a 20 20     *-darwin*).  
10fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
10fb0 20 20 65 63 68 6f 20 22 2e 24 7b 76 65 72 7d 2e    echo ".${ver}.
10fc0 24 7b 6c 69 62 6e 61 6d 65 7d 22 0a 20 20 20 20  ${libname}".    
10fd0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
10fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
10ff0 2d 61 69 78 2a 29 0a 20 20 20 20 20 20 20 20 20  -aix*).         
11000 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20             echo 
11010 22 2e 24 7b 6c 69 62 6e 61 6d 65 7d 22 0a 20 20  ".${libname}".  
11020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b                ;;
11030 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11040 20 2a 2d 6d 69 6e 74 2a 29 0a 20 20 20 20 20 20   *-mint*).      
11050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63                ec
11060 68 6f 20 22 2e 24 7b 6c 69 62 6e 61 6d 65 7d 22  ho ".${libname}"
11070 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11080 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
11090 20 20 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20      *).         
110a0 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20             echo 
110b0 22 2e 24 7b 6c 69 62 6e 61 6d 65 7d 2e 24 7b 76  ".${libname}.${v
110c0 65 72 7d 22 0a 20 20 20 20 20 20 20 20 20 20 20  er}".           
110d0 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
110e0 20 20 20 20 65 73 61 63 3b 0a 20 20 20 20 20 20      esac;.      
110f0 20 20 64 6f 6e 65 3b 0a 20 20 20 20 66 69 0a 7d    done;.    fi.}
11100 0a 67 65 74 5f 6d 6c 5f 69 6e 63 64 69 72 20 28  .get_ml_incdir (
11110 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20  ) .{ .    local 
11120 64 69 72 3d 2f 75 73 72 2f 69 6e 63 6c 75 64 65  dir=/usr/include
11130 3b 0a 20 20 20 20 69 66 20 5b 5b 20 24 23 20 2d  ;.    if [[ $# -
11140 67 74 20 30 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  gt 0 ]]; then.  
11150 20 20 20 20 20 20 69 6e 63 64 69 72 3d 24 31 3b        incdir=$1;
11160 0a 20 20 20 20 20 20 20 20 73 68 69 66 74 3b 0a  .        shift;.
11170 20 20 20 20 66 69 3b 0a 20 20 20 20 69 66 20 5b      fi;.    if [
11180 5b 20 2d 7a 20 22 24 7b 4d 55 4c 54 49 4c 49 42  [ -z "${MULTILIB
11190 5f 41 42 49 53 7d 22 20 5d 5d 3b 20 74 68 65 6e  _ABIS}" ]]; then
111a0 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 24 7b  .        echo ${
111b0 69 6e 63 64 69 72 7d 3b 0a 20 20 20 20 20 20 20  incdir};.       
111c0 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 66   return 0;.    f
111d0 69 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 61 62 69  i;.    local abi
111e0 3d 24 7b 41 42 49 2d 24 7b 44 45 46 41 55 4c 54  =${ABI-${DEFAULT
111f0 5f 41 42 49 7d 7d 3b 0a 20 20 20 20 69 66 20 5b  _ABI}};.    if [
11200 5b 20 24 23 20 2d 67 74 20 30 20 5d 5d 3b 20 74  [ $# -gt 0 ]]; t
11210 68 65 6e 0a 20 20 20 20 20 20 20 20 61 62 69 3d  hen.        abi=
11220 24 31 3b 0a 20 20 20 20 20 20 20 20 73 68 69 66  $1;.        shif
11230 74 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 69  t;.    fi;.    i
11240 66 20 5b 5b 20 2d 64 20 22 24 7b 64 69 72 7d 2f  f [[ -d "${dir}/
11250 67 65 6e 74 6f 6f 2d 6d 75 6c 74 69 6c 69 62 2f  gentoo-multilib/
11260 24 7b 61 62 69 7d 22 20 5d 5d 3b 20 74 68 65 6e  ${abi}" ]]; then
11270 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 24 7b  .        echo ${
11280 64 69 72 7d 2f 67 65 6e 74 6f 6f 2d 6d 75 6c 74  dir}/gentoo-mult
11290 69 6c 69 62 2f 24 7b 61 62 69 7d 3b 0a 20 20 20  ilib/${abi};.   
112a0 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 65 63   else.        ec
112b0 68 6f 20 24 7b 64 69 72 7d 3b 0a 20 20 20 20 66  ho ${dir};.    f
112c0 69 0a 7d 0a 67 65 74 5f 6d 6f 75 6e 74 73 20 28  i.}.get_mounts (
112d0 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20  ) .{ .    local 
112e0 70 6f 69 6e 74 3d 20 6e 6f 64 65 3d 20 66 73 3d  point= node= fs=
112f0 20 6f 70 74 73 3d 20 66 6f 6f 3d 3b 0a 20 20 20   opts= foo=;.   
11300 20 69 66 20 5b 5b 20 24 28 75 6e 61 6d 65 20 2d   if [[ $(uname -
11310 73 29 20 3d 3d 20 22 4c 69 6e 75 78 22 20 5d 5d  s) == "Linux" ]]
11320 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 77  ; then.        w
11330 68 69 6c 65 20 72 65 61 64 20 6e 6f 64 65 20 70  hile read node p
11340 6f 69 6e 74 20 66 73 20 6f 70 74 73 20 66 6f 6f  oint fs opts foo
11350 3b 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20  ; do.           
11360 20 65 63 68 6f 20 22 24 7b 70 6f 69 6e 74 7d 20   echo "${point} 
11370 24 7b 6e 6f 64 65 7d 20 24 7b 66 73 7d 20 24 7b  ${node} ${fs} ${
11380 6f 70 74 73 7d 22 3b 0a 20 20 20 20 20 20 20 20  opts}";.        
11390 64 6f 6e 65 20 3c 20 2f 70 72 6f 63 2f 6d 6f 75  done < /proc/mou
113a0 6e 74 73 3b 0a 20 20 20 20 20 20 20 20 72 65 74  nts;.        ret
113b0 75 72 6e 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20  urn;.    fi;.   
113c0 20 6c 6f 63 61 6c 20 49 46 53 3d 27 09 27 3b 0a   local IFS='.';.
113d0 20 20 20 20 4c 43 5f 41 4c 4c 3d 43 20 6d 6f 75      LC_ALL=C mou
113e0 6e 74 20 2d 70 20 7c 20 77 68 69 6c 65 20 72 65  nt -p | while re
113f0 61 64 20 6e 6f 64 65 20 70 6f 69 6e 74 20 66 73  ad node point fs
11400 20 66 6f 6f 3b 20 64 6f 0a 20 20 20 20 20 20 20   foo; do.       
11410 20 6f 70 74 73 3d 24 7b 66 73 23 2a 20 7d 3b 0a   opts=${fs#* };.
11420 20 20 20 20 20 20 20 20 66 73 3d 24 7b 66 73 25          fs=${fs%
11430 25 20 2a 7d 3b 0a 20 20 20 20 20 20 20 20 65 63  % *};.        ec
11440 68 6f 20 22 24 7b 70 6f 69 6e 74 2f 2f 20 2f 5c  ho "${point// /\
11450 30 34 30 7d 20 24 7b 6e 6f 64 65 2f 2f 20 2f 5c  040} ${node// /\
11460 30 34 30 7d 20 24 7b 66 73 25 25 20 2a 7d 20 24  040} ${fs%% *} $
11470 7b 6f 70 74 73 2f 2f 20 2f 5c 30 34 30 7d 22 3b  {opts// /\040}";
11480 0a 20 20 20 20 64 6f 6e 65 0a 7d 0a 67 65 74 5f  .    done.}.get_
11490 6d 75 6c 74 69 6c 69 62 64 69 72 20 28 29 20 0a  multilibdir () .
114a0 7b 20 0a 20 20 20 20 69 66 20 68 61 73 5f 6d 75  { .    if has_mu
114b0 6c 74 69 6c 69 62 5f 70 72 6f 66 69 6c 65 3b 20  ltilib_profile; 
114c0 74 68 65 6e 0a 20 20 20 20 20 20 20 20 65 65 72  then.        eer
114d0 72 6f 72 20 22 67 65 74 5f 6d 75 6c 74 69 6c 69  ror "get_multili
114e0 62 64 69 72 20 63 61 6c 6c 65 64 2c 20 62 75 74  bdir called, but
114f0 20 69 74 20 73 68 6f 75 6c 64 6e 27 74 20 62 65   it shouldn't be
11500 20 6e 65 65 64 65 64 20 77 69 74 68 20 74 68 65   needed with the
11510 20 6e 65 77 20 6d 75 6c 74 69 6c 69 62 20 61 70   new multilib ap
11520 70 72 6f 61 63 68 2e 20 20 50 6c 65 61 73 65 20  proach.  Please 
11530 66 69 6c 65 20 61 20 62 75 67 20 61 74 20 68 74  file a bug at ht
11540 74 70 3a 2f 2f 62 75 67 73 2e 67 65 6e 74 6f 6f  tp://bugs.gentoo
11550 2e 6f 72 67 20 61 6e 64 20 61 73 73 69 67 6e 20  .org and assign 
11560 69 74 20 74 6f 20 65 72 61 64 69 63 61 74 6f 72  it to eradicator
11570 40 67 65 6e 74 6f 6f 2e 6f 72 67 22 3b 0a 20 20  @gentoo.org";.  
11580 20 20 20 20 20 20 65 78 69 74 20 31 3b 0a 20 20        exit 1;.  
11590 20 20 66 69 3b 0a 20 20 20 20 65 63 68 6f 20 24    fi;.    echo $
115a0 7b 43 4f 4e 46 5f 4d 55 4c 54 49 4c 49 42 44 49  {CONF_MULTILIBDI
115b0 52 3a 3d 6c 69 62 33 32 7d 0a 7d 0a 68 61 73 5f  R:=lib32}.}.has_
115c0 6d 75 6c 74 69 6c 69 62 5f 70 72 6f 66 69 6c 65  multilib_profile
115d0 20 28 29 20 0a 7b 20 0a 20 20 20 20 5b 20 2d 6e   () .{ .    [ -n
115e0 20 22 24 7b 4d 55 4c 54 49 4c 49 42 5f 41 42 49   "${MULTILIB_ABI
115f0 53 7d 22 20 2d 61 20 22 24 7b 4d 55 4c 54 49 4c  S}" -a "${MULTIL
11600 49 42 5f 41 42 49 53 7d 22 20 21 3d 20 22 24 7b  IB_ABIS}" != "${
11610 4d 55 4c 54 49 4c 49 42 5f 41 42 49 53 2f 20 2f  MULTILIB_ABIS/ /
11620 7d 22 20 5d 0a 7d 0a 69 73 2d 6c 6f 67 69 6e 2d  }" ].}.is-login-
11630 64 69 73 61 62 6c 65 64 20 28 29 20 0a 7b 20 0a  disabled () .{ .
11640 20 20 20 20 73 68 65 6c 6c 3d 24 28 65 67 65 74      shell=$(eget
11650 73 68 65 6c 6c 20 22 24 31 22 29 3b 0a 20 20 20  shell "$1");.   
11660 20 63 61 73 65 20 24 7b 73 68 65 6c 6c 7d 20 69   case ${shell} i
11670 6e 20 0a 20 20 20 20 20 20 20 20 2f 62 69 6e 2f  n .        /bin/
11680 66 61 6c 73 65 20 7c 20 2f 75 73 72 2f 62 69 6e  false | /usr/bin
11690 2f 66 61 6c 73 65 20 7c 20 2f 73 62 69 6e 2f 6e  /false | /sbin/n
116a0 6f 6c 6f 67 69 6e 20 7c 20 2f 75 73 72 2f 73 62  ologin | /usr/sb
116b0 69 6e 2f 6e 6f 6c 6f 67 69 6e 29 0a 20 20 20 20  in/nologin).    
116c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30          return 0
116d0 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  .        ;;.    
116e0 20 20 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20      *).         
116f0 20 20 20 72 65 74 75 72 6e 20 31 0a 20 20 20 20     return 1.    
11700 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a      ;;.    esac.
11710 7d 0a 69 73 5f 66 69 6e 61 6c 5f 61 62 69 20 28  }.is_final_abi (
11720 29 20 0a 7b 20 0a 20 20 20 20 68 61 73 5f 6d 75  ) .{ .    has_mu
11730 6c 74 69 6c 69 62 5f 70 72 6f 66 69 6c 65 20 7c  ltilib_profile |
11740 7c 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20  | return 0;.    
11750 6c 6f 63 61 6c 20 41 4c 4c 5f 41 42 49 53 3d 24  local ALL_ABIS=$
11760 28 67 65 74 5f 69 6e 73 74 61 6c 6c 5f 61 62 69  (get_install_abi
11770 73 29 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 4c 41  s);.    local LA
11780 53 54 5f 41 42 49 3d 24 7b 41 4c 4c 5f 41 42 49  ST_ABI=${ALL_ABI
11790 53 2f 2a 20 2f 7d 3b 0a 20 20 20 20 5b 5b 20 24  S/* /};.    [[ $
117a0 7b 4c 41 53 54 5f 41 42 49 7d 20 3d 3d 20 24 7b  {LAST_ABI} == ${
117b0 41 42 49 7d 20 5d 5d 0a 7d 0a 6d 61 6b 65 5f 64  ABI} ]].}.make_d
117c0 65 73 6b 74 6f 70 5f 65 6e 74 72 79 20 28 29 20  esktop_entry () 
117d0 0a 7b 20 0a 20 20 20 20 5b 5b 20 2d 7a 20 24 31  .{ .    [[ -z $1
117e0 20 5d 5d 20 26 26 20 65 65 72 72 6f 72 20 22 6d   ]] && eerror "m
117f0 61 6b 65 5f 64 65 73 6b 74 6f 70 5f 65 6e 74 72  ake_desktop_entr
11800 79 3a 20 59 6f 75 20 6d 75 73 74 20 73 70 65 63  y: You must spec
11810 69 66 79 20 74 68 65 20 65 78 65 63 75 74 61 62  ify the executab
11820 6c 65 22 20 26 26 20 72 65 74 75 72 6e 20 31 3b  le" && return 1;
11830 0a 20 20 20 20 6c 6f 63 61 6c 20 65 78 65 63 3d  .    local exec=
11840 24 7b 31 7d 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  ${1};.    local 
11850 6e 61 6d 65 3d 24 7b 32 3a 2d 24 7b 50 4e 7d 7d  name=${2:-${PN}}
11860 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 69 63 6f 6e  ;.    local icon
11870 3d 24 7b 33 3a 2d 24 7b 50 4e 7d 7d 3b 0a 20 20  =${3:-${PN}};.  
11880 20 20 6c 6f 63 61 6c 20 74 79 70 65 3d 24 7b 34    local type=${4
11890 7d 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 70 61 74  };.    local pat
118a0 68 3d 24 7b 35 7d 3b 0a 20 20 20 20 69 66 20 5b  h=${5};.    if [
118b0 5b 20 2d 7a 20 24 7b 74 79 70 65 7d 20 5d 5d 3b  [ -z ${type} ]];
118c0 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 6c 6f   then.        lo
118d0 63 61 6c 20 63 61 74 6d 61 6a 3d 24 7b 43 41 54  cal catmaj=${CAT
118e0 45 47 4f 52 59 25 25 2d 2a 7d 3b 0a 20 20 20 20  EGORY%%-*};.    
118f0 20 20 20 20 6c 6f 63 61 6c 20 63 61 74 6d 69 6e      local catmin
11900 3d 24 7b 43 41 54 45 47 4f 52 59 23 23 2a 2d 7d  =${CATEGORY##*-}
11910 3b 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 24  ;.        case $
11920 7b 63 61 74 6d 61 6a 7d 20 69 6e 20 0a 20 20 20  {catmaj} in .   
11930 20 20 20 20 20 20 20 20 20 61 70 70 29 0a 20 20           app).  
11940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61                ca
11950 73 65 20 24 7b 63 61 74 6d 69 6e 7d 20 69 6e 20  se ${catmin} in 
11960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11970 20 20 20 20 20 61 63 63 65 73 73 69 62 69 6c 69       accessibili
11980 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  ty).            
11990 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65              type
119a0 3d 41 63 63 65 73 73 69 62 69 6c 69 74 79 0a 20  =Accessibility. 
119b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
119c0 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
119d0 20 20 20 20 20 20 20 20 20 20 61 64 6d 69 6e 29            admin)
119e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
119f0 20 20 20 20 20 20 20 20 20 74 79 70 65 3d 53 79           type=Sy
11a00 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 20 20  stem.           
11a10 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
11a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11a30 61 6e 74 69 76 69 72 75 73 29 0a 20 20 20 20 20  antivirus).     
11a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11a50 20 20 20 74 79 70 65 3d 53 79 73 74 65 6d 0a 20     type=System. 
11a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11a70 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
11a80 20 20 20 20 20 20 20 20 20 20 61 72 63 68 29 0a            arch).
11a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11aa0 20 20 20 20 20 20 20 20 74 79 70 65 3d 41 72 63          type=Arc
11ab0 68 69 76 69 6e 67 0a 20 20 20 20 20 20 20 20 20  hiving.         
11ac0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
11ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11ae0 20 20 62 61 63 6b 75 70 29 0a 20 20 20 20 20 20    backup).      
11af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11b00 20 20 74 79 70 65 3d 41 72 63 68 69 76 69 6e 67    type=Archiving
11b10 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11b20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
11b30 20 20 20 20 20 20 20 20 20 20 20 20 63 64 72 29              cdr)
11b40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11b50 20 20 20 20 20 20 20 20 20 74 79 70 65 3d 44 69           type=Di
11b60 73 63 42 75 72 6e 69 6e 67 0a 20 20 20 20 20 20  scBurning.      
11b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b                ;;
11b80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11b90 20 20 20 20 20 64 69 63 74 73 29 0a 20 20 20 20       dicts).    
11ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11bb0 20 20 20 20 74 79 70 65 3d 44 69 63 74 69 6f 6e      type=Diction
11bc0 61 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20  ary.            
11bd0 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20          ;;.     
11be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64                 d
11bf0 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  oc).            
11c00 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65              type
11c10 3d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 20  =Documentation. 
11c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11c30 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
11c40 20 20 20 20 20 20 20 20 20 20 65 64 69 74 6f 72            editor
11c50 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  s).             
11c60 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 3d             type=
11c70 54 65 78 74 45 64 69 74 6f 72 0a 20 20 20 20 20  TextEditor.     
11c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b                 ;
11c90 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
11ca0 20 20 20 20 20 20 65 6d 61 63 73 29 0a 20 20 20        emacs).   
11cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11cc0 20 20 20 20 20 74 79 70 65 3d 54 65 78 74 45 64       type=TextEd
11cd0 69 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20  itor.           
11ce0 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
11cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11d00 65 6d 75 6c 61 74 69 6f 6e 29 0a 20 20 20 20 20  emulation).     
11d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11d20 20 20 20 74 79 70 65 3d 45 6d 75 6c 61 74 6f 72     type=Emulator
11d30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11d40 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
11d50 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 70 74              lapt
11d60 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  op).            
11d70 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65              type
11d80 3d 48 61 72 64 77 61 72 65 53 65 74 74 69 6e 67  =HardwareSetting
11d90 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  s.              
11da0 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
11db0 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 66               off
11dc0 69 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20  ice).           
11dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70               typ
11de0 65 3d 4f 66 66 69 63 65 0a 20 20 20 20 20 20 20  e=Office.       
11df0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a               ;;.
11e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11e10 20 20 20 20 70 64 61 29 0a 20 20 20 20 20 20 20      pda).       
11e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11e30 20 74 79 70 65 3d 50 44 41 0a 20 20 20 20 20 20   type=PDA.      
11e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b                ;;
11e50 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11e60 20 20 20 20 20 76 69 6d 29 0a 20 20 20 20 20 20       vim).      
11e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11e80 20 20 74 79 70 65 3d 54 65 78 74 45 64 69 74 6f    type=TextEdito
11e90 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  r.              
11ea0 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
11eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 78 65 6d               xem
11ec0 61 63 73 29 0a 20 20 20 20 20 20 20 20 20 20 20  acs).           
11ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70               typ
11ee0 65 3d 54 65 78 74 45 64 69 74 6f 72 0a 20 20 20  e=TextEditor.   
11ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11f00 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
11f10 20 20 20 20 20 20 20 20 2a 29 0a 20 20 20 20 20          *).     
11f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11f30 20 20 20 74 79 70 65 3d 0a 20 20 20 20 20 20 20     type=.       
11f40 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a               ;;.
11f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11f60 65 73 61 63 0a 20 20 20 20 20 20 20 20 20 20 20  esac.           
11f70 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
11f80 64 65 76 29 0a 20 20 20 20 20 20 20 20 20 20 20  dev).           
11f90 20 20 20 20 20 74 79 70 65 3d 22 44 65 76 65 6c       type="Devel
11fa0 6f 70 6d 65 6e 74 22 0a 20 20 20 20 20 20 20 20  opment".        
11fb0 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20      ;;.         
11fc0 20 20 20 67 61 6d 65 73 29 0a 20 20 20 20 20 20     games).      
11fd0 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24            case $
11fe0 7b 63 61 74 6d 69 6e 7d 20 69 6e 20 0a 20 20 20  {catmin} in .   
11ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12000 20 61 63 74 69 6f 6e 20 7c 20 66 70 73 29 0a 20   action | fps). 
12010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12020 20 20 20 20 20 20 20 74 79 70 65 3d 41 63 74 69         type=Acti
12030 6f 6e 47 61 6d 65 0a 20 20 20 20 20 20 20 20 20  onGame.         
12040 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
12050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12060 20 20 61 72 63 61 64 65 29 0a 20 20 20 20 20 20    arcade).      
12070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12080 20 20 74 79 70 65 3d 41 72 63 61 64 65 47 61 6d    type=ArcadeGam
12090 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  e.              
120a0 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
120b0 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 61               boa
120c0 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  rd).            
120d0 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65              type
120e0 3d 42 6f 61 72 64 47 61 6d 65 0a 20 20 20 20 20  =BoardGame.     
120f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b                 ;
12100 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
12110 20 20 20 20 20 20 65 6d 75 6c 61 74 69 6f 6e 29        emulation)
12120 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
12130 20 20 20 20 20 20 20 20 20 74 79 70 65 3d 45 6d           type=Em
12140 75 6c 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20  ulator.         
12150 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
12160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12170 20 20 6b 69 64 73 29 0a 20 20 20 20 20 20 20 20    kids).        
12180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12190 74 79 70 65 3d 4b 69 64 73 47 61 6d 65 0a 20 20  type=KidsGame.  
121a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
121b0 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20    ;;.           
121c0 20 20 20 20 20 20 20 20 20 70 75 7a 7a 6c 65 29           puzzle)
121d0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
121e0 20 20 20 20 20 20 20 20 20 74 79 70 65 3d 4c 6f           type=Lo
121f0 67 69 63 47 61 6d 65 0a 20 20 20 20 20 20 20 20  gicGame.        
12200 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
12210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12220 20 20 20 72 6f 67 75 65 6c 69 6b 65 29 0a 20 20     roguelike).  
12230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12240 20 20 20 20 20 20 74 79 70 65 3d 52 6f 6c 65 50        type=RoleP
12250 6c 61 79 69 6e 67 0a 20 20 20 20 20 20 20 20 20  laying.         
12260 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
12270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12280 20 20 72 70 67 29 0a 20 20 20 20 20 20 20 20 20    rpg).         
12290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74                 t
122a0 79 70 65 3d 52 6f 6c 65 50 6c 61 79 69 6e 67 0a  ype=RolePlaying.
122b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
122c0 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20      ;;.         
122d0 20 20 20 20 20 20 20 20 20 20 20 73 69 6d 75 6c             simul
122e0 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20  ation).         
122f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74                 t
12300 79 70 65 3d 53 69 6d 75 6c 61 74 69 6f 6e 0a 20  ype=Simulation. 
12310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12320 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
12330 20 20 20 20 20 20 20 20 20 20 73 70 6f 72 74 73            sports
12340 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
12350 20 20 20 20 20 20 20 20 20 20 74 79 70 65 3d 53            type=S
12360 70 6f 72 74 73 47 61 6d 65 0a 20 20 20 20 20 20  portsGame.      
12370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b                ;;
12380 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
12390 20 20 20 20 20 73 74 72 61 74 65 67 79 29 0a 20       strategy). 
123a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
123b0 20 20 20 20 20 20 20 74 79 70 65 3d 53 74 72 61         type=Stra
123c0 74 65 67 79 47 61 6d 65 0a 20 20 20 20 20 20 20  tegyGame.       
123d0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a               ;;.
123e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
123f0 20 20 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20      *).         
12400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74                 t
12410 79 70 65 3d 0a 20 20 20 20 20 20 20 20 20 20 20  ype=.           
12420 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
12430 20 20 20 20 20 20 20 20 20 20 20 20 65 73 61 63              esac
12440 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
12450 20 20 74 79 70 65 3d 22 47 61 6d 65 3b 24 7b 74    type="Game;${t
12460 79 70 65 7d 22 0a 20 20 20 20 20 20 20 20 20 20  ype}".          
12470 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20    ;;.           
12480 20 67 6e 6f 6d 65 29 0a 20 20 20 20 20 20 20 20   gnome).        
12490 20 20 20 20 20 20 20 20 74 79 70 65 3d 22 47 6e          type="Gn
124a0 6f 6d 65 3b 47 54 4b 22 0a 20 20 20 20 20 20 20  ome;GTK".       
124b0 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
124c0 20 20 20 20 6b 64 65 29 0a 20 20 20 20 20 20 20      kde).       
124d0 20 20 20 20 20 20 20 20 20 74 79 70 65 3d 22 4b           type="K
124e0 44 45 3b 51 74 22 0a 20 20 20 20 20 20 20 20 20  DE;Qt".         
124f0 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
12500 20 20 6d 61 69 6c 29 0a 20 20 20 20 20 20 20 20    mail).        
12510 20 20 20 20 20 20 20 20 74 79 70 65 3d 22 4e 65          type="Ne
12520 74 77 6f 72 6b 3b 45 6d 61 69 6c 22 0a 20 20 20  twork;Email".   
12530 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
12540 20 20 20 20 20 20 20 20 6d 65 64 69 61 29 0a 20          media). 
12550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63                 c
12560 61 73 65 20 24 7b 63 61 74 6d 69 6e 7d 20 69 6e  ase ${catmin} in
12570 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   .              
12580 20 20 20 20 20 20 67 66 78 29 0a 20 20 20 20 20        gfx).     
12590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
125a0 20 20 20 74 79 70 65 3d 47 72 61 70 68 69 63 73     type=Graphics
125b0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
125c0 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
125d0 20 20 20 20 20 20 20 20 20 20 20 20 72 61 64 69              radi
125e0 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  o).             
125f0 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 3d             type=
12600 54 75 6e 65 72 0a 20 20 20 20 20 20 20 20 20 20  Tuner.          
12610 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20            ;;.   
12620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12630 20 73 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20   sound).        
12640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12650 74 79 70 65 3d 41 75 64 69 6f 0a 20 20 20 20 20  type=Audio.     
12660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b                 ;
12670 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
12680 20 20 20 20 20 20 74 76 29 0a 20 20 20 20 20 20        tv).      
12690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
126a0 20 20 74 79 70 65 3d 54 56 0a 20 20 20 20 20 20    type=TV.      
126b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b                ;;
126c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
126d0 20 20 20 20 20 76 69 64 65 6f 29 0a 20 20 20 20       video).    
126e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
126f0 20 20 20 20 74 79 70 65 3d 56 69 64 65 6f 0a 20      type=Video. 
12700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12710 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
12720 20 20 20 20 20 20 20 20 20 20 2a 29 0a 20 20 20            *).   
12730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12740 20 20 20 20 20 74 79 70 65 3d 0a 20 20 20 20 20       type=.     
12750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b                 ;
12760 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
12770 20 20 65 73 61 63 3b 0a 20 20 20 20 20 20 20 20    esac;.        
12780 20 20 20 20 20 20 20 20 74 79 70 65 3d 22 41 75          type="Au
12790 64 69 6f 56 69 64 65 6f 3b 24 7b 74 79 70 65 7d  dioVideo;${type}
127a0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b  ".            ;;
127b0 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 74  .            net
127c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
127d0 20 20 63 61 73 65 20 24 7b 63 61 74 6d 69 6e 7d    case ${catmin}
127e0 20 69 6e 20 0a 20 20 20 20 20 20 20 20 20 20 20   in .           
127f0 20 20 20 20 20 20 20 20 20 64 69 61 6c 75 70 29           dialup)
12800 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
12810 20 20 20 20 20 20 20 20 20 74 79 70 65 3d 44 69           type=Di
12820 61 6c 75 70 0a 20 20 20 20 20 20 20 20 20 20 20  alup.           
12830 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20           ;;.    
12840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12850 66 74 70 29 0a 20 20 20 20 20 20 20 20 20 20 20  ftp).           
12860 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70               typ
12870 65 3d 46 69 6c 65 54 72 61 6e 73 66 65 72 0a 20  e=FileTransfer. 
12880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12890 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
128a0 20 20 20 20 20 20 20 20 20 20 69 6d 29 0a 20 20            im).  
128b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
128c0 20 20 20 20 20 20 74 79 70 65 3d 49 6e 73 74 61        type=Insta
128d0 6e 74 4d 65 73 73 61 67 69 6e 67 0a 20 20 20 20  ntMessaging.    
128e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
128f0 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;;.             
12900 20 20 20 20 20 20 20 69 72 63 29 0a 20 20 20 20         irc).    
12910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12920 20 20 20 20 74 79 70 65 3d 49 52 43 43 6c 69 65      type=IRCClie
12930 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  nt.             
12940 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
12950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61                ma
12960 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  il).            
12970 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65              type
12980 3d 45 6d 61 69 6c 0a 20 20 20 20 20 20 20 20 20  =Email.         
12990 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
129a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
129b0 20 20 6e 65 77 73 29 0a 20 20 20 20 20 20 20 20    news).        
129c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
129d0 74 79 70 65 3d 4e 65 77 73 0a 20 20 20 20 20 20  type=News.      
129e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b                ;;
129f0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
12a00 20 20 20 20 20 6e 6e 74 70 29 0a 20 20 20 20 20       nntp).     
12a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12a20 20 20 20 74 79 70 65 3d 4e 65 77 73 0a 20 20 20     type=News.   
12a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12a40 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
12a50 20 20 20 20 20 20 20 20 70 32 70 29 0a 20 20 20          p2p).   
12a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12a70 20 20 20 20 20 74 79 70 65 3d 46 69 6c 65 54 72       type=FileTr
12a80 61 6e 73 66 65 72 0a 20 20 20 20 20 20 20 20 20  ansfer.         
12a90 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
12aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12ab0 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20    *).           
12ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70               typ
12ad0 65 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  e=.             
12ae0 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
12af0 20 20 20 20 20 20 20 20 20 20 65 73 61 63 3b 0a            esac;.
12b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12b10 74 79 70 65 3d 22 4e 65 74 77 6f 72 6b 3b 24 7b  type="Network;${
12b20 74 79 70 65 7d 22 0a 20 20 20 20 20 20 20 20 20  type}".         
12b30 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
12b40 20 20 73 63 69 29 0a 20 20 20 20 20 20 20 20 20    sci).         
12b50 20 20 20 20 20 20 20 63 61 73 65 20 24 7b 63 61         case ${ca
12b60 74 6d 69 6e 7d 20 69 6e 20 0a 20 20 20 20 20 20  tmin} in .      
12b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73                as
12b80 74 72 6f 2a 29 0a 20 20 20 20 20 20 20 20 20 20  tro*).          
12b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79                ty
12ba0 70 65 3d 41 73 74 72 6f 6e 6f 6d 79 0a 20 20 20  pe=Astronomy.   
12bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12bc0 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
12bd0 20 20 20 20 20 20 20 20 62 69 6f 2a 29 0a 20 20          bio*).  
12be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12bf0 20 20 20 20 20 20 74 79 70 65 3d 42 69 6f 6c 6f        type=Biolo
12c00 67 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  gy.             
12c10 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
12c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61                ca
12c30 6c 63 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20  lc*).           
12c40 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70               typ
12c50 65 3d 43 61 6c 63 75 6c 61 74 6f 72 0a 20 20 20  e=Calculator.   
12c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12c70 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
12c80 20 20 20 20 20 20 20 20 63 68 65 6d 2a 29 0a 20          chem*). 
12c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12ca0 20 20 20 20 20 20 20 74 79 70 65 3d 43 68 65 6d         type=Chem
12cb0 69 73 74 72 79 0a 20 20 20 20 20 20 20 20 20 20  istry.          
12cc0 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20            ;;.   
12cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12ce0 20 65 6c 65 63 2a 29 0a 20 20 20 20 20 20 20 20   elec*).        
12cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12d00 74 79 70 65 3d 45 6c 65 63 74 72 6f 6e 69 63 73  type=Electronics
12d10 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
12d20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
12d30 20 20 20 20 20 20 20 20 20 20 20 20 67 65 6f 2a              geo*
12d40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
12d50 20 20 20 20 20 20 20 20 20 20 74 79 70 65 3d 47            type=G
12d60 65 6f 6c 6f 67 79 0a 20 20 20 20 20 20 20 20 20  eology.         
12d70 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
12d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12d90 20 20 6d 61 74 68 2a 29 0a 20 20 20 20 20 20 20    math*).       
12da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12db0 20 74 79 70 65 3d 4d 61 74 68 0a 20 20 20 20 20   type=Math.     
12dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b                 ;
12dd0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
12de0 20 20 20 20 20 20 70 68 79 73 69 63 73 29 0a 20        physics). 
12df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12e00 20 20 20 20 20 20 20 74 79 70 65 3d 50 68 79 73         type=Phys
12e10 69 63 73 0a 20 20 20 20 20 20 20 20 20 20 20 20  ics.            
12e20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20          ;;.     
12e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76                 v
12e40 69 73 75 61 6c 2a 29 0a 20 20 20 20 20 20 20 20  isual*).        
12e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12e60 74 79 70 65 3d 44 61 74 61 56 69 73 75 61 6c 69  type=DataVisuali
12e70 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20  zation.         
12e80 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
12e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12ea0 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20    *).           
12eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70               typ
12ec0 65 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  e=.             
12ed0 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
12ee0 20 20 20 20 20 20 20 20 20 20 65 73 61 63 3b 0a            esac;.
12ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12f00 74 79 70 65 3d 22 53 63 69 65 6e 63 65 3b 24 7b  type="Science;${
12f10 74 79 70 65 7d 22 0a 20 20 20 20 20 20 20 20 20  type}".         
12f20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
12f30 20 20 73 79 73 29 0a 20 20 20 20 20 20 20 20 20    sys).         
12f40 20 20 20 20 20 20 20 74 79 70 65 3d 22 53 79 73         type="Sys
12f50 74 65 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20  tem".           
12f60 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ;;.            
12f70 77 77 77 29 0a 20 20 20 20 20 20 20 20 20 20 20  www).           
12f80 20 20 20 20 20 63 61 73 65 20 24 7b 63 61 74 6d       case ${catm
12f90 69 6e 7d 20 69 6e 20 0a 20 20 20 20 20 20 20 20  in} in .        
12fa0 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 69 65              clie
12fb0 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  nt).            
12fc0 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65              type
12fd0 3d 57 65 62 42 72 6f 77 73 65 72 0a 20 20 20 20  =WebBrowser.    
12fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12ff0 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;;.             
13000 20 20 20 20 20 20 20 2a 29 0a 20 20 20 20 20 20         *).      
13010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
13020 20 20 74 79 70 65 3d 0a 20 20 20 20 20 20 20 20    type=.        
13030 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
13040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65                 e
13050 73 61 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20  sac;.           
13060 20 20 20 20 20 74 79 70 65 3d 22 4e 65 74 77 6f       type="Netwo
13070 72 6b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20  rk".            
13080 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a  ;;.            *
13090 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
130a0 20 20 74 79 70 65 3d 0a 20 20 20 20 20 20 20 20    type=.        
130b0 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 65      ;;.        e
130c0 73 61 63 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20  sac;.    fi;.   
130d0 20 69 66 20 5b 20 22 24 7b 53 4c 4f 54 7d 22 20   if [ "${SLOT}" 
130e0 3d 3d 20 22 30 22 20 5d 3b 20 74 68 65 6e 0a 20  == "0" ]; then. 
130f0 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 64 65 73         local des
13100 6b 74 6f 70 5f 6e 61 6d 65 3d 22 24 7b 50 4e 7d  ktop_name="${PN}
13110 22 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20  ";.    else.    
13120 20 20 20 20 6c 6f 63 61 6c 20 64 65 73 6b 74 6f      local deskto
13130 70 5f 6e 61 6d 65 3d 22 24 7b 50 4e 7d 2d 24 7b  p_name="${PN}-${
13140 53 4c 4f 54 7d 22 3b 0a 20 20 20 20 66 69 3b 0a  SLOT}";.    fi;.
13150 20 20 20 20 6c 6f 63 61 6c 20 64 65 73 6b 74 6f      local deskto
13160 70 3d 22 24 7b 54 7d 2f 24 28 65 63 68 6f 20 24  p="${T}/$(echo $
13170 7b 65 78 65 63 7d 20 7c 20 73 65 64 20 27 73 3a  {exec} | sed 's:
13180 5b 5b 3a 73 70 61 63 65 3a 5d 2f 3a 5d 3a 5f 3a  [[:space:]/:]:_:
13190 67 27 29 2d 24 7b 64 65 73 6b 74 6f 70 5f 6e 61  g')-${desktop_na
131a0 6d 65 7d 2e 64 65 73 6b 74 6f 70 22 3b 0a 20 20  me}.desktop";.  
131b0 20 20 63 61 74 20 3e 20 22 24 7b 64 65 73 6b 74    cat > "${deskt
131c0 6f 70 7d 22 20 20 3c 3c 2d 45 4f 46 0a 5b 44 65  op}"  <<-EOF.[De
131d0 73 6b 74 6f 70 20 45 6e 74 72 79 5d 0a 56 65 72  sktop Entry].Ver
131e0 73 69 6f 6e 3d 31 2e 30 0a 4e 61 6d 65 3d 24 7b  sion=1.0.Name=${
131f0 6e 61 6d 65 7d 0a 54 79 70 65 3d 41 70 70 6c 69  name}.Type=Appli
13200 63 61 74 69 6f 6e 0a 43 6f 6d 6d 65 6e 74 3d 24  cation.Comment=$
13210 7b 44 45 53 43 52 49 50 54 49 4f 4e 7d 0a 45 78  {DESCRIPTION}.Ex
13220 65 63 3d 24 7b 65 78 65 63 7d 0a 54 72 79 45 78  ec=${exec}.TryEx
13230 65 63 3d 24 7b 65 78 65 63 25 25 20 2a 7d 0a 49  ec=${exec%% *}.I
13240 63 6f 6e 3d 24 7b 69 63 6f 6e 7d 0a 43 61 74 65  con=${icon}.Cate
13250 67 6f 72 69 65 73 3d 24 7b 74 79 70 65 7d 3b 0a  gories=${type};.
13260 45 4f 46 0a 0a 20 20 20 20 5b 5b 20 2d 6e 20 24  EOF..    [[ -n $
13270 7b 70 61 74 68 7d 20 5d 5d 20 26 26 20 65 63 68  {path} ]] && ech
13280 6f 20 22 50 61 74 68 3d 24 7b 70 61 74 68 7d 22  o "Path=${path}"
13290 20 3e 3e 20 22 24 7b 64 65 73 6b 74 6f 70 7d 22   >> "${desktop}"
132a0 3b 0a 20 20 20 20 28 20 69 6e 73 69 6e 74 6f 20  ;.    ( insinto 
132b0 2f 75 73 72 2f 73 68 61 72 65 2f 61 70 70 6c 69  /usr/share/appli
132c0 63 61 74 69 6f 6e 73 3b 0a 20 20 20 20 64 6f 69  cations;.    doi
132d0 6e 73 20 22 24 7b 64 65 73 6b 74 6f 70 7d 22 20  ns "${desktop}" 
132e0 29 0a 7d 0a 6d 61 6b 65 5f 73 65 73 73 69 6f 6e  ).}.make_session
132f0 5f 64 65 73 6b 74 6f 70 20 28 29 20 0a 7b 20 0a  _desktop () .{ .
13300 20 20 20 20 5b 5b 20 2d 7a 20 24 31 20 5d 5d 20      [[ -z $1 ]] 
13310 26 26 20 65 65 72 72 6f 72 20 22 24 30 3a 20 59  && eerror "$0: Y
13320 6f 75 20 6d 75 73 74 20 73 70 65 63 69 66 79 20  ou must specify 
13330 74 68 65 20 74 69 74 6c 65 22 20 26 26 20 72 65  the title" && re
13340 74 75 72 6e 20 31 3b 0a 20 20 20 20 5b 5b 20 2d  turn 1;.    [[ -
13350 7a 20 24 32 20 5d 5d 20 26 26 20 65 65 72 72 6f  z $2 ]] && eerro
13360 72 20 22 24 30 3a 20 59 6f 75 20 6d 75 73 74 20  r "$0: You must 
13370 73 70 65 63 69 66 79 20 74 68 65 20 63 6f 6d 6d  specify the comm
13380 61 6e 64 22 20 26 26 20 72 65 74 75 72 6e 20 31  and" && return 1
13390 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 74 69 74 6c  ;.    local titl
133a0 65 3d 24 31 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  e=$1;.    local 
133b0 63 6f 6d 6d 61 6e 64 3d 24 32 3b 0a 20 20 20 20  command=$2;.    
133c0 6c 6f 63 61 6c 20 64 65 73 6b 74 6f 70 3d 24 7b  local desktop=${
133d0 54 7d 2f 24 7b 77 6d 3a 2d 24 7b 50 4e 7d 7d 2e  T}/${wm:-${PN}}.
133e0 64 65 73 6b 74 6f 70 3b 0a 20 20 20 20 73 68 69  desktop;.    shi
133f0 66 74 20 32 3b 0a 20 20 20 20 63 61 74 20 3e 20  ft 2;.    cat > 
13400 22 24 7b 64 65 73 6b 74 6f 70 7d 22 20 20 3c 3c  "${desktop}"  <<
13410 2d 45 4f 46 0a 5b 44 65 73 6b 74 6f 70 20 45 6e  -EOF.[Desktop En
13420 74 72 79 5d 0a 4e 61 6d 65 3d 24 7b 74 69 74 6c  try].Name=${titl
13430 65 7d 0a 43 6f 6d 6d 65 6e 74 3d 54 68 69 73 20  e}.Comment=This 
13440 73 65 73 73 69 6f 6e 20 6c 6f 67 73 20 79 6f 75  session logs you
13450 20 69 6e 74 6f 20 24 7b 74 69 74 6c 65 7d 0a 45   into ${title}.E
13460 78 65 63 3d 24 7b 63 6f 6d 6d 61 6e 64 7d 20 24  xec=${command} $
13470 2a 0a 54 72 79 45 78 65 63 3d 24 7b 63 6f 6d 6d  *.TryExec=${comm
13480 61 6e 64 7d 0a 54 79 70 65 3d 58 53 65 73 73 69  and}.Type=XSessi
13490 6f 6e 0a 45 4f 46 0a 0a 20 20 20 20 28 20 69 6e  on.EOF..    ( in
134a0 73 69 6e 74 6f 20 2f 75 73 72 2f 73 68 61 72 65  sinto /usr/share
134b0 2f 78 73 65 73 73 69 6f 6e 73 3b 0a 20 20 20 20  /xsessions;.    
134c0 64 6f 69 6e 73 20 22 24 7b 64 65 73 6b 74 6f 70  doins "${desktop
134d0 7d 22 20 29 0a 7d 0a 6d 61 6b 65 5f 77 72 61 70  }" ).}.make_wrap
134e0 70 65 72 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c  per () .{ .    l
134f0 6f 63 61 6c 20 77 72 61 70 70 65 72 3d 24 31 20  ocal wrapper=$1 
13500 62 69 6e 3d 24 32 20 63 68 64 69 72 3d 24 33 20  bin=$2 chdir=$3 
13510 6c 69 62 64 69 72 3d 24 34 20 70 61 74 68 3d 24  libdir=$4 path=$
13520 35 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 74 6d 70  5;.    local tmp
13530 77 72 61 70 70 65 72 3d 24 28 65 6d 6b 74 65 6d  wrapper=$(emktem
13540 70 29 3b 0a 20 20 20 20 63 61 74 20 3e 20 22 24  p);.    cat > "$
13550 7b 74 6d 70 77 72 61 70 70 65 72 7d 22 20 20 3c  {tmpwrapper}"  <
13560 3c 45 4f 46 0a 23 21 2f 62 69 6e 2f 73 68 0a 63  <EOF.#!/bin/sh.c
13570 64 20 22 24 7b 63 68 64 69 72 3a 2d 2e 7d 22 0a  d "${chdir:-.}".
13580 69 66 20 5b 20 2d 6e 20 22 24 7b 6c 69 62 64 69  if [ -n "${libdi
13590 72 7d 22 20 5d 20 3b 20 74 68 65 6e 0a 09 69 66  r}" ] ; then..if
135a0 20 5b 20 22 5c 24 7b 4c 44 5f 4c 49 42 52 41 52   [ "\${LD_LIBRAR
135b0 59 5f 50 41 54 48 2b 73 65 74 7d 22 20 3d 20 22  Y_PATH+set}" = "
135c0 73 65 74 22 20 5d 20 3b 20 74 68 65 6e 0a 09 09  set" ] ; then...
135d0 65 78 70 6f 72 74 20 4c 44 5f 4c 49 42 52 41 52  export LD_LIBRAR
135e0 59 5f 50 41 54 48 3d 22 5c 24 7b 4c 44 5f 4c 49  Y_PATH="\${LD_LI
135f0 42 52 41 52 59 5f 50 41 54 48 7d 3a 24 7b 6c 69  BRARY_PATH}:${li
13600 62 64 69 72 7d 22 0a 09 65 6c 73 65 0a 09 09 65  bdir}"..else...e
13610 78 70 6f 72 74 20 4c 44 5f 4c 49 42 52 41 52 59  xport LD_LIBRARY
13620 5f 50 41 54 48 3d 22 24 7b 6c 69 62 64 69 72 7d  _PATH="${libdir}
13630 22 0a 09 66 69 0a 66 69 0a 65 78 65 63 20 24 7b  "..fi.fi.exec ${
13640 62 69 6e 7d 20 22 5c 24 40 22 0a 45 4f 46 0a 0a  bin} "\$@".EOF..
13650 20 20 20 20 63 68 6d 6f 64 20 67 6f 2b 72 78 20      chmod go+rx 
13660 22 24 7b 74 6d 70 77 72 61 70 70 65 72 7d 22 3b  "${tmpwrapper}";
13670 0a 20 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24 7b  .    if [[ -n ${
13680 70 61 74 68 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20  path} ]]; then. 
13690 20 20 20 20 20 20 20 28 20 65 78 65 69 6e 74 6f         ( exeinto
136a0 20 22 24 7b 70 61 74 68 7d 22 3b 0a 20 20 20 20   "${path}";.    
136b0 20 20 20 20 6e 65 77 65 78 65 20 22 24 7b 74 6d      newexe "${tm
136c0 70 77 72 61 70 70 65 72 7d 22 20 22 24 7b 77 72  pwrapper}" "${wr
136d0 61 70 70 65 72 7d 22 20 29 20 7c 7c 20 64 69 65  apper}" ) || die
136e0 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20  ;.    else.     
136f0 20 20 20 6e 65 77 62 69 6e 20 22 24 7b 74 6d 70     newbin "${tmp
13700 77 72 61 70 70 65 72 7d 22 20 22 24 7b 77 72 61  wrapper}" "${wra
13710 70 70 65 72 7d 22 20 7c 7c 20 64 69 65 3b 0a 20  pper}" || die;. 
13720 20 20 20 66 69 0a 7d 0a 6d 75 6c 74 69 6c 69 62     fi.}.multilib
13730 5f 65 6e 76 20 28 29 20 0a 7b 20 0a 20 20 20 20  _env () .{ .    
13740 6c 6f 63 61 6c 20 43 54 41 52 47 45 54 3d 24 7b  local CTARGET=${
13750 31 3a 2d 24 7b 43 54 41 52 47 45 54 7d 7d 3b 0a  1:-${CTARGET}};.
13760 20 20 20 20 63 61 73 65 20 24 7b 43 54 41 52 47      case ${CTARG
13770 45 54 7d 20 69 6e 20 0a 20 20 20 20 20 20 20 20  ET} in .        
13780 78 38 36 5f 36 34 2a 29 0a 20 20 20 20 20 20 20  x86_64*).       
13790 20 20 20 20 20 65 78 70 6f 72 74 20 43 46 4c 41       export CFLA
137a0 47 53 5f 78 38 36 3d 24 7b 43 46 4c 41 47 53 5f  GS_x86=${CFLAGS_
137b0 78 38 36 2d 2d 6d 33 32 7d 3b 0a 20 20 20 20 20  x86--m32};.     
137c0 20 20 20 20 20 20 20 65 78 70 6f 72 74 20 43 48         export CH
137d0 4f 53 54 5f 78 38 36 3d 24 7b 43 54 41 52 47 45  OST_x86=${CTARGE
137e0 54 2f 78 38 36 5f 36 34 2f 69 36 38 36 7d 3b 0a  T/x86_64/i686};.
137f0 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f              expo
13800 72 74 20 43 54 41 52 47 45 54 5f 78 38 36 3d 24  rt CTARGET_x86=$
13810 7b 43 48 4f 53 54 5f 78 38 36 7d 3b 0a 20 20 20  {CHOST_x86};.   
13820 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20           export 
13830 43 44 45 46 49 4e 45 5f 78 38 36 3d 22 5f 5f 69  CDEFINE_x86="__i
13840 33 38 36 5f 5f 22 3b 0a 20 20 20 20 20 20 20 20  386__";.        
13850 20 20 20 20 65 78 70 6f 72 74 20 4c 49 42 44 49      export LIBDI
13860 52 5f 78 38 36 3d 22 6c 69 62 22 3b 0a 20 20 20  R_x86="lib";.   
13870 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20           export 
13880 43 46 4c 41 47 53 5f 61 6d 64 36 34 3d 24 7b 43  CFLAGS_amd64=${C
13890 46 4c 41 47 53 5f 61 6d 64 36 34 2d 2d 6d 36 34  FLAGS_amd64--m64
138a0 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  };.            e
138b0 78 70 6f 72 74 20 43 48 4f 53 54 5f 61 6d 64 36  xport CHOST_amd6
138c0 34 3d 24 7b 43 54 41 52 47 45 54 7d 3b 0a 20 20  4=${CTARGET};.  
138d0 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74            export
138e0 20 43 54 41 52 47 45 54 5f 61 6d 64 36 34 3d 24   CTARGET_amd64=$
138f0 7b 43 48 4f 53 54 5f 61 6d 64 36 34 7d 3b 0a 20  {CHOST_amd64};. 
13900 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72             expor
13910 74 20 43 44 45 46 49 4e 45 5f 61 6d 64 36 34 3d  t CDEFINE_amd64=
13920 22 5f 5f 78 38 36 5f 36 34 5f 5f 22 3b 0a 20 20  "__x86_64__";.  
13930 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74            export
13940 20 4c 49 42 44 49 52 5f 61 6d 64 36 34 3d 22 6c   LIBDIR_amd64="l
13950 69 62 36 34 22 3b 0a 20 20 20 20 20 20 20 20 20  ib64";.         
13960 20 20 20 65 78 70 6f 72 74 20 4d 55 4c 54 49 4c     export MULTIL
13970 49 42 5f 41 42 49 53 3d 22 61 6d 64 36 34 20 78  IB_ABIS="amd64 x
13980 38 36 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20  86";.           
13990 20 65 78 70 6f 72 74 20 44 45 46 41 55 4c 54 5f   export DEFAULT_
139a0 41 42 49 3d 22 61 6d 64 36 34 22 0a 20 20 20 20  ABI="amd64".    
139b0 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 6d      ;;.        m
139c0 69 70 73 36 34 2a 29 0a 20 20 20 20 20 20 20 20  ips64*).        
139d0 20 20 20 20 65 78 70 6f 72 74 20 43 46 4c 41 47      export CFLAG
139e0 53 5f 6f 33 32 3d 24 7b 43 46 4c 41 47 53 5f 6f  S_o32=${CFLAGS_o
139f0 33 32 2d 2d 6d 61 62 69 3d 33 32 7d 3b 0a 20 20  32--mabi=32};.  
13a00 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74            export
13a10 20 43 48 4f 53 54 5f 6f 33 32 3d 24 7b 43 54 41   CHOST_o32=${CTA
13a20 52 47 45 54 2f 6d 69 70 73 36 34 2f 6d 69 70 73  RGET/mips64/mips
13a30 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  };.            e
13a40 78 70 6f 72 74 20 43 54 41 52 47 45 54 5f 6f 33  xport CTARGET_o3
13a50 32 3d 24 7b 43 48 4f 53 54 5f 6f 33 32 7d 3b 0a  2=${CHOST_o32};.
13a60 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f              expo
13a70 72 74 20 43 44 45 46 49 4e 45 5f 6f 33 32 3d 22  rt CDEFINE_o32="
13a80 5f 4d 49 50 53 5f 53 49 4d 20 3d 3d 20 5f 41 42  _MIPS_SIM == _AB
13a90 49 4f 33 32 22 3b 0a 20 20 20 20 20 20 20 20 20  IO32";.         
13aa0 20 20 20 65 78 70 6f 72 74 20 4c 49 42 44 49 52     export LIBDIR
13ab0 5f 6f 33 32 3d 22 6c 69 62 22 3b 0a 20 20 20 20  _o32="lib";.    
13ac0 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20 43          export C
13ad0 46 4c 41 47 53 5f 6e 33 32 3d 24 7b 43 46 4c 41  FLAGS_n32=${CFLA
13ae0 47 53 5f 6e 33 32 2d 2d 6d 61 62 69 3d 6e 33 32  GS_n32--mabi=n32
13af0 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  };.            e
13b00 78 70 6f 72 74 20 43 48 4f 53 54 5f 6e 33 32 3d  xport CHOST_n32=
13b10 24 7b 43 54 41 52 47 45 54 7d 3b 0a 20 20 20 20  ${CTARGET};.    
13b20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20 43          export C
13b30 54 41 52 47 45 54 5f 6e 33 32 3d 24 7b 43 48 4f  TARGET_n32=${CHO
13b40 53 54 5f 6e 33 32 7d 3b 0a 20 20 20 20 20 20 20  ST_n32};.       
13b50 20 20 20 20 20 65 78 70 6f 72 74 20 43 44 45 46       export CDEF
13b60 49 4e 45 5f 6e 33 32 3d 22 5f 4d 49 50 53 5f 53  INE_n32="_MIPS_S
13b70 49 4d 20 3d 3d 20 5f 41 42 49 4e 33 32 22 3b 0a  IM == _ABIN32";.
13b80 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f              expo
13b90 72 74 20 4c 49 42 44 49 52 5f 6e 33 32 3d 22 6c  rt LIBDIR_n32="l
13ba0 69 62 33 32 22 3b 0a 20 20 20 20 20 20 20 20 20  ib32";.         
13bb0 20 20 20 65 78 70 6f 72 74 20 43 46 4c 41 47 53     export CFLAGS
13bc0 5f 6e 36 34 3d 24 7b 43 46 4c 41 47 53 5f 6e 36  _n64=${CFLAGS_n6
13bd0 34 2d 2d 6d 61 62 69 3d 36 34 7d 3b 0a 20 20 20  4--mabi=64};.   
13be0 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20           export 
13bf0 43 48 4f 53 54 5f 6e 36 34 3d 24 7b 43 54 41 52  CHOST_n64=${CTAR
13c00 47 45 54 7d 3b 0a 20 20 20 20 20 20 20 20 20 20  GET};.          
13c10 20 20 65 78 70 6f 72 74 20 43 54 41 52 47 45 54    export CTARGET
13c20 5f 6e 36 34 3d 24 7b 43 48 4f 53 54 5f 6e 36 34  _n64=${CHOST_n64
13c30 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  };.            e
13c40 78 70 6f 72 74 20 43 44 45 46 49 4e 45 5f 6e 36  xport CDEFINE_n6
13c50 34 3d 22 5f 4d 49 50 53 5f 53 49 4d 20 3d 3d 20  4="_MIPS_SIM == 
13c60 5f 41 42 49 36 34 22 3b 0a 20 20 20 20 20 20 20  _ABI64";.       
13c70 20 20 20 20 20 65 78 70 6f 72 74 20 4c 49 42 44       export LIBD
13c80 49 52 5f 6e 36 34 3d 22 6c 69 62 36 34 22 3b 0a  IR_n64="lib64";.
13c90 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f              expo
13ca0 72 74 20 4d 55 4c 54 49 4c 49 42 5f 41 42 49 53  rt MULTILIB_ABIS
13cb0 3d 22 6e 36 34 20 6e 33 32 20 6f 33 32 22 3b 0a  ="n64 n32 o32";.
13cc0 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f              expo
13cd0 72 74 20 44 45 46 41 55 4c 54 5f 41 42 49 3d 22  rt DEFAULT_ABI="
13ce0 6e 33 32 22 0a 20 20 20 20 20 20 20 20 3b 3b 0a  n32".        ;;.
13cf0 20 20 20 20 20 20 20 20 70 6f 77 65 72 70 63 36          powerpc6
13d00 34 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  4*).            
13d10 65 78 70 6f 72 74 20 43 46 4c 41 47 53 5f 70 70  export CFLAGS_pp
13d20 63 3d 24 7b 43 46 4c 41 47 53 5f 70 70 63 2d 2d  c=${CFLAGS_ppc--
13d30 6d 33 32 7d 3b 0a 20 20 20 20 20 20 20 20 20 20  m32};.          
13d40 20 20 65 78 70 6f 72 74 20 43 48 4f 53 54 5f 70    export CHOST_p
13d50 70 63 3d 24 7b 43 54 41 52 47 45 54 2f 70 6f 77  pc=${CTARGET/pow
13d60 65 72 70 63 36 34 2f 70 6f 77 65 72 70 63 7d 3b  erpc64/powerpc};
13d70 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70  .            exp
13d80 6f 72 74 20 43 54 41 52 47 45 54 5f 70 70 63 3d  ort CTARGET_ppc=
13d90 24 7b 43 48 4f 53 54 5f 70 70 63 7d 3b 0a 20 20  ${CHOST_ppc};.  
13da0 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74            export
13db0 20 43 44 45 46 49 4e 45 5f 70 70 63 3d 22 21 5f   CDEFINE_ppc="!_
13dc0 5f 70 6f 77 65 72 70 63 36 34 5f 5f 22 3b 0a 20  _powerpc64__";. 
13dd0 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72             expor
13de0 74 20 4c 49 42 44 49 52 5f 70 70 63 3d 22 6c 69  t LIBDIR_ppc="li
13df0 62 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  b";.            
13e00 65 78 70 6f 72 74 20 43 46 4c 41 47 53 5f 70 70  export CFLAGS_pp
13e10 63 36 34 3d 24 7b 43 46 4c 41 47 53 5f 70 70 63  c64=${CFLAGS_ppc
13e20 36 34 2d 2d 6d 36 34 7d 3b 0a 20 20 20 20 20 20  64--m64};.      
13e30 20 20 20 20 20 20 65 78 70 6f 72 74 20 43 48 4f        export CHO
13e40 53 54 5f 70 70 63 36 34 3d 24 7b 43 54 41 52 47  ST_ppc64=${CTARG
13e50 45 54 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20  ET};.           
13e60 20 65 78 70 6f 72 74 20 43 54 41 52 47 45 54 5f   export CTARGET_
13e70 70 70 63 36 34 3d 24 7b 43 48 4f 53 54 5f 70 70  ppc64=${CHOST_pp
13e80 63 36 34 7d 3b 0a 20 20 20 20 20 20 20 20 20 20  c64};.          
13e90 20 20 65 78 70 6f 72 74 20 43 44 45 46 49 4e 45    export CDEFINE
13ea0 5f 70 70 63 36 34 3d 22 5f 5f 70 6f 77 65 72 70  _ppc64="__powerp
13eb0 63 36 34 5f 5f 22 3b 0a 20 20 20 20 20 20 20 20  c64__";.        
13ec0 20 20 20 20 65 78 70 6f 72 74 20 4c 49 42 44 49      export LIBDI
13ed0 52 5f 70 70 63 36 34 3d 22 6c 69 62 36 34 22 3b  R_ppc64="lib64";
13ee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70  .            exp
13ef0 6f 72 74 20 4d 55 4c 54 49 4c 49 42 5f 41 42 49  ort MULTILIB_ABI
13f00 53 3d 22 70 70 63 36 34 20 70 70 63 22 3b 0a 20  S="ppc64 ppc";. 
13f10 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72             expor
13f20 74 20 44 45 46 41 55 4c 54 5f 41 42 49 3d 22 70  t DEFAULT_ABI="p
13f30 70 63 36 34 22 0a 20 20 20 20 20 20 20 20 3b 3b  pc64".        ;;
13f40 0a 20 20 20 20 20 20 20 20 73 33 39 30 78 2a 29  .        s390x*)
13f50 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70  .            exp
13f60 6f 72 74 20 43 46 4c 41 47 53 5f 73 33 39 30 3d  ort CFLAGS_s390=
13f70 24 7b 43 46 4c 41 47 53 5f 73 33 39 30 2d 2d 6d  ${CFLAGS_s390--m
13f80 33 31 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20  31};.           
13f90 20 65 78 70 6f 72 74 20 43 48 4f 53 54 5f 73 33   export CHOST_s3
13fa0 39 30 3d 24 7b 43 54 41 52 47 45 54 2f 73 33 39  90=${CTARGET/s39
13fb0 30 78 2f 73 33 39 30 7d 3b 0a 20 20 20 20 20 20  0x/s390};.      
13fc0 20 20 20 20 20 20 65 78 70 6f 72 74 20 43 54 41        export CTA
13fd0 52 47 45 54 5f 73 33 39 30 3d 24 7b 43 48 4f 53  RGET_s390=${CHOS
13fe0 54 5f 73 33 39 30 7d 3b 0a 20 20 20 20 20 20 20  T_s390};.       
13ff0 20 20 20 20 20 65 78 70 6f 72 74 20 43 44 45 46       export CDEF
14000 49 4e 45 5f 73 33 39 30 3d 22 21 5f 5f 73 33 39  INE_s390="!__s39
14010 30 78 5f 5f 22 3b 0a 20 20 20 20 20 20 20 20 20  0x__";.         
14020 20 20 20 65 78 70 6f 72 74 20 4c 49 42 44 49 52     export LIBDIR
14030 5f 73 33 39 30 3d 22 6c 69 62 22 3b 0a 20 20 20  _s390="lib";.   
14040 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20           export 
14050 43 46 4c 41 47 53 5f 73 33 39 30 78 3d 24 7b 43  CFLAGS_s390x=${C
14060 46 4c 41 47 53 5f 73 33 39 30 78 2d 2d 6d 36 34  FLAGS_s390x--m64
14070 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  };.            e
14080 78 70 6f 72 74 20 43 48 4f 53 54 5f 73 33 39 30  xport CHOST_s390
14090 78 3d 24 7b 43 54 41 52 47 45 54 7d 3b 0a 20 20  x=${CTARGET};.  
140a0 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74            export
140b0 20 43 54 41 52 47 45 54 5f 73 33 39 30 78 3d 24   CTARGET_s390x=$
140c0 7b 43 48 4f 53 54 5f 73 33 39 30 78 7d 3b 0a 20  {CHOST_s390x};. 
140d0 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72             expor
140e0 74 20 43 44 45 46 49 4e 45 5f 73 33 39 30 78 3d  t CDEFINE_s390x=
140f0 22 5f 5f 73 33 39 30 78 5f 5f 22 3b 0a 20 20 20  "__s390x__";.   
14100 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20           export 
14110 4c 49 42 44 49 52 5f 73 33 39 30 78 3d 22 6c 69  LIBDIR_s390x="li
14120 62 36 34 22 3b 0a 20 20 20 20 20 20 20 20 20 20  b64";.          
14130 20 20 65 78 70 6f 72 74 20 4d 55 4c 54 49 4c 49    export MULTILI
14140 42 5f 41 42 49 53 3d 22 73 33 39 30 78 20 73 33  B_ABIS="s390x s3
14150 39 30 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20  90";.           
14160 20 65 78 70 6f 72 74 20 44 45 46 41 55 4c 54 5f   export DEFAULT_
14170 41 42 49 3d 22 73 33 39 30 78 22 0a 20 20 20 20  ABI="s390x".    
14180 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 73      ;;.        s
14190 70 61 72 63 2a 29 0a 20 20 20 20 20 20 20 20 20  parc*).         
141a0 20 20 20 65 78 70 6f 72 74 20 43 46 4c 41 47 53     export CFLAGS
141b0 5f 73 70 61 72 63 33 32 3d 24 7b 43 46 4c 41 47  _sparc32=${CFLAG
141c0 53 5f 73 70 61 72 63 33 32 7d 3b 0a 20 20 20 20  S_sparc32};.    
141d0 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20 43          export C
141e0 48 4f 53 54 5f 73 70 61 72 63 33 32 3d 24 7b 43  HOST_sparc32=${C
141f0 54 41 52 47 45 54 2f 73 70 61 72 63 36 34 2f 73  TARGET/sparc64/s
14200 70 61 72 63 7d 3b 0a 20 20 20 20 20 20 20 20 20  parc};.         
14210 20 20 20 65 78 70 6f 72 74 20 43 54 41 52 47 45     export CTARGE
14220 54 5f 73 70 61 72 63 33 32 3d 24 7b 43 48 4f 53  T_sparc32=${CHOS
14230 54 5f 73 70 61 72 63 33 32 7d 3b 0a 20 20 20 20  T_sparc32};.    
14240 20 20 20 20 20 20 20 20 65 78 70 6f 72 74 20 43          export C
14250 44 45 46 49 4e 45 5f 73 70 61 72 63 33 32 3d 22  DEFINE_sparc32="
14260 21 5f 5f 61 72 63 68 36 34 5f 5f 22 3b 0a 20 20  !__arch64__";.  
14270 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74            export
14280 20 4c 49 42 44 49 52 5f 73 70 61 72 63 33 32 3d   LIBDIR_sparc32=
14290 22 6c 69 62 22 3b 0a 20 20 20 20 20 20 20 20 20  "lib";.         
142a0 20 20 20 65 78 70 6f 72 74 20 43 46 4c 41 47 53     export CFLAGS
142b0 5f 73 70 61 72 63 36 34 3d 24 7b 43 46 4c 41 47  _sparc64=${CFLAG
142c0 53 5f 73 70 61 72 63 36 34 2d 2d 6d 36 34 7d 3b  S_sparc64--m64};
142d0 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70  .            exp
142e0 6f 72 74 20 43 48 4f 53 54 5f 73 70 61 72 63 36  ort CHOST_sparc6
142f0 34 3d 24 7b 43 54 41 52 47 45 54 7d 3b 0a 20 20  4=${CTARGET};.  
14300 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74            export
14310 20 43 54 41 52 47 45 54 5f 73 70 61 72 63 36 34   CTARGET_sparc64
14320 3d 24 7b 43 48 4f 53 54 5f 73 70 61 72 63 36 34  =${CHOST_sparc64
14330 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  };.            e
14340 78 70 6f 72 74 20 43 44 45 46 49 4e 45 5f 73 70  xport CDEFINE_sp
14350 61 72 63 36 34 3d 22 5f 5f 61 72 63 68 36 34 5f  arc64="__arch64_
14360 5f 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  _";.            
14370 65 78 70 6f 72 74 20 4c 49 42 44 49 52 5f 73 70  export LIBDIR_sp
14380 61 72 63 36 34 3d 22 6c 69 62 36 34 22 3b 0a 20  arc64="lib64";. 
14390 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72             expor
143a0 74 20 4d 55 4c 54 49 4c 49 42 5f 41 42 49 53 3d  t MULTILIB_ABIS=
143b0 22 24 7b 4d 55 4c 54 49 4c 49 42 5f 41 42 49 53  "${MULTILIB_ABIS
143c0 2d 73 70 61 72 63 36 34 20 73 70 61 72 63 33 32  -sparc64 sparc32
143d0 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  }";.            
143e0 65 78 70 6f 72 74 20 44 45 46 41 55 4c 54 5f 41  export DEFAULT_A
143f0 42 49 3d 22 24 7b 44 45 46 41 55 4c 54 5f 41 42  BI="${DEFAULT_AB
14400 49 2d 73 70 61 72 63 36 34 7d 22 0a 20 20 20 20  I-sparc64}".    
14410 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 2a      ;;.        *
14420 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78  ).            ex
14430 70 6f 72 74 20 4d 55 4c 54 49 4c 49 42 5f 41 42  port MULTILIB_AB
14440 49 53 3d 22 64 65 66 61 75 6c 74 22 3b 0a 20 20  IS="default";.  
14450 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 72 74            export
14460 20 44 45 46 41 55 4c 54 5f 41 42 49 3d 22 64 65   DEFAULT_ABI="de
14470 66 61 75 6c 74 22 0a 20 20 20 20 20 20 20 20 3b  fault".        ;
14480 3b 0a 20 20 20 20 65 73 61 63 0a 7d 0a 6d 75 6c  ;.    esac.}.mul
14490 74 69 6c 69 62 5f 74 6f 6f 6c 63 68 61 69 6e 5f  tilib_toolchain_
144a0 73 65 74 75 70 20 28 29 20 0a 7b 20 0a 20 20 20  setup () .{ .   
144b0 20 6c 6f 63 61 6c 20 76 20 76 76 3b 0a 20 20 20   local v vv;.   
144c0 20 65 78 70 6f 72 74 20 41 42 49 3d 24 31 3b 0a   export ABI=$1;.
144d0 20 20 20 20 69 66 20 5b 5b 20 24 7b 41 42 49 7d      if [[ ${ABI}
144e0 20 21 3d 20 24 7b 44 45 46 41 55 4c 54 5f 41 42   != ${DEFAULT_AB
144f0 49 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  I} ]]; then.    
14500 20 20 20 20 69 66 20 5b 5b 20 24 7b 44 45 46 41      if [[ ${DEFA
14510 55 4c 54 5f 41 42 49 5f 53 41 56 45 44 7d 20 21  ULT_ABI_SAVED} !
14520 3d 20 22 74 72 75 65 22 20 5d 5d 3b 20 74 68 65  = "true" ]]; the
14530 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f  n.            fo
14540 72 20 76 20 69 6e 20 43 48 4f 53 54 20 43 42 55  r v in CHOST CBU
14550 49 4c 44 20 41 53 20 43 43 20 43 58 58 20 4c 44  ILD AS CC CXX LD
14560 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f  ;.            do
14570 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
14580 20 65 78 70 6f 72 74 20 5f 5f 61 62 69 5f 73 61   export __abi_sa
14590 76 65 64 5f 24 7b 76 7d 3d 22 24 7b 21 76 7d 22  ved_${v}="${!v}"
145a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f  ;.            do
145b0 6e 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ne;.            
145c0 65 78 70 6f 72 74 20 44 45 46 41 55 4c 54 5f 41  export DEFAULT_A
145d0 42 49 5f 53 41 56 45 44 3d 22 74 72 75 65 22 3b  BI_SAVED="true";
145e0 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20  .        fi;.   
145f0 20 20 20 20 20 65 78 70 6f 72 74 20 43 48 4f 53       export CHOS
14600 54 3d 24 28 67 65 74 5f 61 62 69 5f 43 48 4f 53  T=$(get_abi_CHOS
14610 54 20 24 7b 44 45 46 41 55 4c 54 5f 41 42 49 7d  T ${DEFAULT_ABI}
14620 29 3b 0a 20 20 20 20 20 20 20 20 65 78 70 6f 72  );.        expor
14630 74 20 41 53 3d 22 24 28 74 63 2d 67 65 74 41 53  t AS="$(tc-getAS
14640 29 20 24 28 67 65 74 5f 61 62 69 5f 41 53 46 4c  ) $(get_abi_ASFL
14650 41 47 53 29 22 3b 0a 20 20 20 20 20 20 20 20 65  AGS)";.        e
14660 78 70 6f 72 74 20 43 43 3d 22 24 28 74 63 2d 67  xport CC="$(tc-g
14670 65 74 43 43 29 20 24 28 67 65 74 5f 61 62 69 5f  etCC) $(get_abi_
14680 43 46 4c 41 47 53 29 22 3b 0a 20 20 20 20 20 20  CFLAGS)";.      
14690 20 20 65 78 70 6f 72 74 20 43 58 58 3d 22 24 28    export CXX="$(
146a0 74 63 2d 67 65 74 43 58 58 29 20 24 28 67 65 74  tc-getCXX) $(get
146b0 5f 61 62 69 5f 43 46 4c 41 47 53 29 22 3b 0a 20  _abi_CFLAGS)";. 
146c0 20 20 20 20 20 20 20 65 78 70 6f 72 74 20 4c 44         export LD
146d0 3d 22 24 28 74 63 2d 67 65 74 4c 44 29 20 24 28  ="$(tc-getLD) $(
146e0 67 65 74 5f 61 62 69 5f 4c 44 46 4c 41 47 53 29  get_abi_LDFLAGS)
146f0 22 3b 0a 20 20 20 20 20 20 20 20 65 78 70 6f 72  ";.        expor
14700 74 20 43 48 4f 53 54 3d 24 28 67 65 74 5f 61 62  t CHOST=$(get_ab
14710 69 5f 43 48 4f 53 54 20 24 31 29 3b 0a 20 20 20  i_CHOST $1);.   
14720 20 20 20 20 20 65 78 70 6f 72 74 20 43 42 55 49       export CBUI
14730 4c 44 3d 24 28 67 65 74 5f 61 62 69 5f 43 48 4f  LD=$(get_abi_CHO
14740 53 54 20 24 31 29 3b 0a 20 20 20 20 65 6c 73 65  ST $1);.    else
14750 0a 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 24  .        if [[ $
14760 7b 44 45 46 41 55 4c 54 5f 41 42 49 5f 53 41 56  {DEFAULT_ABI_SAV
14770 45 44 7d 20 3d 3d 20 22 74 72 75 65 22 20 5d 5d  ED} == "true" ]]
14780 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
14790 20 20 20 66 6f 72 20 76 20 69 6e 20 43 48 4f 53     for v in CHOS
147a0 54 20 43 42 55 49 4c 44 20 41 53 20 43 43 20 43  T CBUILD AS CC C
147b0 58 58 20 4c 44 3b 0a 20 20 20 20 20 20 20 20 20  XX LD;.         
147c0 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20     do.          
147d0 20 20 20 20 20 20 76 76 3d 22 5f 5f 61 62 69 5f        vv="__abi_
147e0 73 61 76 65 64 5f 24 7b 76 7d 22 3b 0a 20 20 20  saved_${v}";.   
147f0 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70               exp
14800 6f 72 74 20 24 7b 76 7d 3d 24 7b 21 76 76 7d 3b  ort ${v}=${!vv};
14810 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 6e  .            don
14820 65 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20  e;.        fi;. 
14830 20 20 20 66 69 0a 7d 0a 6e 65 77 69 63 6f 6e 20     fi.}.newicon 
14840 28 29 20 0a 7b 20 0a 20 20 20 20 28 20 69 6e 73  () .{ .    ( ins
14850 69 6e 74 6f 20 2f 75 73 72 2f 73 68 61 72 65 2f  into /usr/share/
14860 70 69 78 6d 61 70 73 3b 0a 20 20 20 20 6e 65 77  pixmaps;.    new
14870 69 6e 73 20 22 24 40 22 20 29 0a 7d 0a 6e 65 77  ins "$@" ).}.new
14880 6d 65 6e 75 20 28 29 20 0a 7b 20 0a 20 20 20 20  menu () .{ .    
14890 28 20 69 6e 73 69 6e 74 6f 20 2f 75 73 72 2f 73  ( insinto /usr/s
148a0 68 61 72 65 2f 61 70 70 6c 69 63 61 74 69 6f 6e  hare/application
148b0 73 3b 0a 20 20 20 20 6e 65 77 69 6e 73 20 22 24  s;.    newins "$
148c0 40 22 20 29 0a 7d 0a 6e 75 6d 62 65 72 5f 61 62  @" ).}.number_ab
148d0 69 73 20 28 29 20 0a 7b 20 0a 20 20 20 20 67 65  is () .{ .    ge
148e0 74 5f 69 6e 73 74 61 6c 6c 5f 61 62 69 73 20 7c  t_install_abis |
148f0 20 77 63 20 2d 77 0a 7d 0a 70 6b 67 5f 6e 6f 66   wc -w.}.pkg_nof
14900 65 74 63 68 20 28 29 20 0a 7b 20 0a 20 20 20 20  etch () .{ .    
14910 5f 65 61 70 69 30 5f 70 6b 67 5f 6e 6f 66 65 74  _eapi0_pkg_nofet
14920 63 68 20 22 24 40 22 0a 7d 0a 70 6b 67 5f 70 72  ch "$@".}.pkg_pr
14930 65 69 6e 73 74 20 28 29 20 0a 7b 20 0a 20 20 20  einst () .{ .   
14940 20 73 75 62 76 65 72 73 69 6f 6e 5f 70 6b 67 5f   subversion_pkg_
14950 70 72 65 69 6e 73 74 20 22 24 40 22 0a 7d 0a 70  preinst "$@".}.p
14960 72 65 70 5f 6d 6c 5f 69 6e 63 6c 75 64 65 73 20  rep_ml_includes 
14970 28 29 20 0a 7b 20 0a 20 20 20 20 69 66 20 5b 5b  () .{ .    if [[
14980 20 24 28 6e 75 6d 62 65 72 5f 61 62 69 73 29 20   $(number_abis) 
14990 2d 67 74 20 31 20 5d 5d 3b 20 74 68 65 6e 0a 20  -gt 1 ]]; then. 
149a0 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 64 69 72         local dir
149b0 3b 0a 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20  ;.        local 
149c0 64 69 72 73 3b 0a 20 20 20 20 20 20 20 20 6c 6f  dirs;.        lo
149d0 63 61 6c 20 62 61 73 65 3b 0a 20 20 20 20 20 20  cal base;.      
149e0 20 20 69 66 20 5b 5b 20 24 23 20 2d 65 71 20 30    if [[ $# -eq 0
149f0 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20   ]]; then.      
14a00 20 20 20 20 20 20 64 69 72 73 3d 2f 75 73 72 2f        dirs=/usr/
14a10 69 6e 63 6c 75 64 65 3b 0a 20 20 20 20 20 20 20  include;.       
14a20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20   else.          
14a30 20 20 64 69 72 73 3d 22 24 40 22 3b 0a 20 20 20    dirs="$@";.   
14a40 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20       fi;.       
14a50 20 66 6f 72 20 64 69 72 20 69 6e 20 24 7b 64 69   for dir in ${di
14a60 72 73 7d 3b 0a 20 20 20 20 20 20 20 20 64 6f 0a  rs};.        do.
14a70 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65              base
14a80 3d 24 7b 54 7d 2f 67 65 6e 74 6f 6f 2d 6d 75 6c  =${T}/gentoo-mul
14a90 74 69 6c 69 62 2f 24 7b 64 69 72 7d 2f 67 65 6e  tilib/${dir}/gen
14aa0 74 6f 6f 2d 6d 75 6c 74 69 6c 69 62 3b 0a 20 20  too-multilib;.  
14ab0 20 20 20 20 20 20 20 20 20 20 6d 6b 64 69 72 20            mkdir 
14ac0 2d 70 20 22 24 7b 62 61 73 65 7d 22 3b 0a 20 20  -p "${base}";.  
14ad0 20 20 20 20 20 20 20 20 20 20 5b 5b 20 2d 64 20            [[ -d 
14ae0 24 7b 62 61 73 65 7d 2f 24 7b 41 42 49 7d 20 5d  ${base}/${ABI} ]
14af0 5d 20 26 26 20 72 6d 20 2d 72 66 20 22 24 7b 62  ] && rm -rf "${b
14b00 61 73 65 7d 2f 24 7b 41 42 49 7d 22 3b 0a 20 20  ase}/${ABI}";.  
14b10 20 20 20 20 20 20 20 20 20 20 6d 76 20 22 24 7b            mv "${
14b20 44 7d 2f 24 7b 64 69 72 7d 22 20 22 24 7b 62 61  D}/${dir}" "${ba
14b30 73 65 7d 2f 24 7b 41 42 49 7d 22 3b 0a 20 20 20  se}/${ABI}";.   
14b40 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 20       done;.     
14b50 20 20 20 69 66 20 69 73 5f 66 69 6e 61 6c 5f 61     if is_final_a
14b60 62 69 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  bi; then.       
14b70 20 20 20 20 20 62 61 73 65 3d 24 7b 54 7d 2f 67       base=${T}/g
14b80 65 6e 74 6f 6f 2d 6d 75 6c 74 69 6c 69 62 3b 0a  entoo-multilib;.
14b90 20 20 20 20 20 20 20 20 20 20 20 20 70 75 73 68              push
14ba0 64 20 22 24 7b 62 61 73 65 7d 22 3b 0a 20 20 20  d "${base}";.   
14bb0 20 20 20 20 20 20 20 20 20 66 69 6e 64 20 2e 20           find . 
14bc0 7c 20 74 61 72 20 2d 63 20 2d 54 20 2d 20 2d 66  | tar -c -T - -f
14bd0 20 2d 20 7c 20 74 61 72 20 2d 78 20 2d 2d 6e 6f   - | tar -x --no
14be0 2d 73 61 6d 65 2d 6f 77 6e 65 72 20 2d 66 20 2d  -same-owner -f -
14bf0 20 2d 43 20 22 24 7b 44 7d 22 3b 0a 20 20 20 20   -C "${D}";.    
14c00 20 20 20 20 20 20 20 20 70 6f 70 64 3b 0a 20 20          popd;.  
14c10 20 20 20 20 20 20 20 20 20 20 73 65 74 20 2d 2d            set --
14c20 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f  ;.            fo
14c30 72 20 64 69 72 20 69 6e 20 24 7b 64 69 72 73 7d  r dir in ${dirs}
14c40 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f  ;.            do
14c50 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
14c60 20 73 65 74 20 2d 2d 20 22 24 40 22 20 22 24 7b   set -- "$@" "${
14c70 64 69 72 7d 22 3b 0a 20 20 20 20 20 20 20 20 20  dir}";.         
14c80 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 61 62 69         local abi
14c90 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
14ca0 20 20 66 6f 72 20 61 62 69 20 69 6e 20 24 28 67    for abi in $(g
14cb0 65 74 5f 69 6e 73 74 61 6c 6c 5f 61 62 69 73 29  et_install_abis)
14cc0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
14cd0 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20    do.           
14ce0 20 20 20 20 20 20 20 20 20 73 65 74 20 2d 2d 20           set -- 
14cf0 22 24 40 22 20 22 24 28 67 65 74 5f 61 62 69 5f  "$@" "$(get_abi_
14d00 43 44 45 46 49 4e 45 20 24 7b 61 62 69 7d 29 3a  CDEFINE ${abi}):
14d10 24 7b 64 69 72 7d 2f 67 65 6e 74 6f 6f 2d 6d 75  ${dir}/gentoo-mu
14d20 6c 74 69 6c 69 62 2f 24 7b 61 62 69 7d 22 3b 0a  ltilib/${abi}";.
14d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
14d40 64 6f 6e 65 3b 0a 20 20 20 20 20 20 20 20 20 20  done;.          
14d50 20 20 20 20 20 20 63 72 65 61 74 65 5f 6d 6c 5f        create_ml_
14d60 69 6e 63 6c 75 64 65 73 20 22 24 40 22 3b 0a 20  includes "$@";. 
14d70 20 20 20 20 20 20 20 20 20 20 20 64 6f 6e 65 3b             done;
14d80 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20  .        fi;.   
14d90 20 66 69 0a 7d 0a 70 72 65 73 65 72 76 65 5f 6f   fi.}.preserve_o
14da0 6c 64 5f 6c 69 62 20 28 29 20 0a 7b 20 0a 20 20  ld_lib () .{ .  
14db0 20 20 69 66 20 5b 5b 20 24 7b 45 42 55 49 4c 44    if [[ ${EBUILD
14dc0 5f 50 48 41 53 45 7d 20 21 3d 20 22 70 72 65 69  _PHASE} != "prei
14dd0 6e 73 74 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  nst" ]]; then.  
14de0 20 20 20 20 20 20 65 65 72 72 6f 72 20 22 70 72        eerror "pr
14df0 65 73 65 72 76 65 5f 6f 6c 64 5f 6c 69 62 28 29  eserve_old_lib()
14e00 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20   must be called 
14e10 66 72 6f 6d 20 70 6b 67 5f 70 72 65 69 6e 73 74  from pkg_preinst
14e20 28 29 20 6f 6e 6c 79 22 3b 0a 20 20 20 20 20 20  () only";.      
14e30 20 20 64 69 65 20 22 49 6e 76 61 6c 69 64 20 70    die "Invalid p
14e40 72 65 73 65 72 76 65 5f 6f 6c 64 5f 6c 69 62 28  reserve_old_lib(
14e50 29 20 75 73 61 67 65 22 3b 0a 20 20 20 20 66 69  ) usage";.    fi
14e60 3b 0a 20 20 20 20 5b 5b 20 2d 7a 20 24 31 20 5d  ;.    [[ -z $1 ]
14e70 5d 20 26 26 20 64 69 65 20 22 55 73 61 67 65 3a  ] && die "Usage:
14e80 20 70 72 65 73 65 72 76 65 5f 6f 6c 64 5f 6c 69   preserve_old_li
14e90 62 20 3c 6c 69 62 72 61 72 79 20 74 6f 20 70 72  b <library to pr
14ea0 65 73 65 72 76 65 3e 20 5b 6d 6f 72 65 20 6c 69  eserve> [more li
14eb0 62 72 61 72 69 65 73 20 74 6f 20 70 72 65 73 65  braries to prese
14ec0 72 76 65 5d 22 3b 0a 20 20 20 20 68 61 73 20 70  rve]";.    has p
14ed0 72 65 73 65 72 76 65 2d 6c 69 62 73 20 24 7b 46  reserve-libs ${F
14ee0 45 41 54 55 52 45 53 7d 20 26 26 20 72 65 74 75  EATURES} && retu
14ef0 72 6e 20 30 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  rn 0;.    local 
14f00 6c 69 62 20 64 69 72 3b 0a 20 20 20 20 66 6f 72  lib dir;.    for
14f10 20 6c 69 62 20 69 6e 20 22 24 40 22 3b 0a 20 20   lib in "$@";.  
14f20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 5b 5b 20    do.        [[ 
14f30 2d 65 20 24 7b 52 4f 4f 54 7d 2f 24 7b 6c 69 62  -e ${ROOT}/${lib
14f40 7d 20 5d 5d 20 7c 7c 20 63 6f 6e 74 69 6e 75 65  } ]] || continue
14f50 3b 0a 20 20 20 20 20 20 20 20 64 69 72 3d 24 7b  ;.        dir=${
14f60 6c 69 62 25 2f 2a 7d 3b 0a 20 20 20 20 20 20 20  lib%/*};.       
14f70 20 64 6f 64 69 72 20 24 7b 64 69 72 7d 20 7c 7c   dodir ${dir} ||
14f80 20 64 69 65 20 22 64 6f 64 69 72 20 24 7b 64 69   die "dodir ${di
14f90 72 7d 20 66 61 69 6c 65 64 22 3b 0a 20 20 20 20  r} failed";.    
14fa0 20 20 20 20 63 70 20 22 24 7b 52 4f 4f 54 7d 22      cp "${ROOT}"
14fb0 2f 24 7b 6c 69 62 7d 20 22 24 7b 44 7d 22 2f 24  /${lib} "${D}"/$
14fc0 7b 6c 69 62 7d 20 7c 7c 20 64 69 65 20 22 63 70  {lib} || die "cp
14fd0 20 24 7b 6c 69 62 7d 20 66 61 69 6c 65 64 22 3b   ${lib} failed";
14fe0 0a 20 20 20 20 20 20 20 20 74 6f 75 63 68 20 22  .        touch "
14ff0 24 7b 44 7d 22 2f 24 7b 6c 69 62 7d 3b 0a 20 20  ${D}"/${lib};.  
15000 20 20 64 6f 6e 65 0a 7d 0a 70 72 65 73 65 72 76    done.}.preserv
15010 65 5f 6f 6c 64 5f 6c 69 62 5f 6e 6f 74 69 66 79  e_old_lib_notify
15020 20 28 29 20 0a 7b 20 0a 20 20 20 20 69 66 20 5b   () .{ .    if [
15030 5b 20 24 7b 45 42 55 49 4c 44 5f 50 48 41 53 45  [ ${EBUILD_PHASE
15040 7d 20 21 3d 20 22 70 6f 73 74 69 6e 73 74 22 20  } != "postinst" 
15050 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
15060 20 65 65 72 72 6f 72 20 22 70 72 65 73 65 72 76   eerror "preserv
15070 65 5f 6f 6c 64 5f 6c 69 62 5f 6e 6f 74 69 66 79  e_old_lib_notify
15080 28 29 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65  () must be calle
15090 64 20 66 72 6f 6d 20 70 6b 67 5f 70 6f 73 74 69  d from pkg_posti
150a0 6e 73 74 28 29 20 6f 6e 6c 79 22 3b 0a 20 20 20  nst() only";.   
150b0 20 20 20 20 20 64 69 65 20 22 49 6e 76 61 6c 69       die "Invali
150c0 64 20 70 72 65 73 65 72 76 65 5f 6f 6c 64 5f 6c  d preserve_old_l
150d0 69 62 5f 6e 6f 74 69 66 79 28 29 20 75 73 61 67  ib_notify() usag
150e0 65 22 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20  e";.    fi;.    
150f0 68 61 73 20 70 72 65 73 65 72 76 65 2d 6c 69 62  has preserve-lib
15100 73 20 24 7b 46 45 41 54 55 52 45 53 7d 20 26 26  s ${FEATURES} &&
15110 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 6c   return 0;.    l
15120 6f 63 61 6c 20 6c 69 62 20 6e 6f 74 69 63 65 3d  ocal lib notice=
15130 30 3b 0a 20 20 20 20 66 6f 72 20 6c 69 62 20 69  0;.    for lib i
15140 6e 20 22 24 40 22 3b 0a 20 20 20 20 64 6f 0a 20  n "$@";.    do. 
15150 20 20 20 20 20 20 20 5b 5b 20 2d 65 20 24 7b 52         [[ -e ${R
15160 4f 4f 54 7d 2f 24 7b 6c 69 62 7d 20 5d 5d 20 7c  OOT}/${lib} ]] |
15170 7c 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20  | continue;.    
15180 20 20 20 20 69 66 20 5b 5b 20 24 7b 6e 6f 74 69      if [[ ${noti
15190 63 65 7d 20 2d 65 71 20 30 20 5d 5d 3b 20 74 68  ce} -eq 0 ]]; th
151a0 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e  en.            n
151b0 6f 74 69 63 65 3d 31 3b 0a 20 20 20 20 20 20 20  otice=1;.       
151c0 20 20 20 20 20 65 77 61 72 6e 20 22 4f 6c 64 20       ewarn "Old 
151d0 76 65 72 73 69 6f 6e 73 20 6f 66 20 69 6e 73 74  versions of inst
151e0 61 6c 6c 65 64 20 6c 69 62 72 61 72 69 65 73 20  alled libraries 
151f0 77 65 72 65 20 64 65 74 65 63 74 65 64 20 6f 6e  were detected on
15200 20 79 6f 75 72 20 73 79 73 74 65 6d 2e 22 3b 0a   your system.";.
15210 20 20 20 20 20 20 20 20 20 20 20 20 65 77 61 72              ewar
15220 6e 20 22 49 6e 20 6f 72 64 65 72 20 74 6f 20 61  n "In order to a
15230 76 6f 69 64 20 62 72 65 61 6b 69 6e 67 20 70 61  void breaking pa
15240 63 6b 61 67 65 73 20 74 68 61 74 20 64 65 70 65  ckages that depe
15250 6e 64 20 6f 6e 20 74 68 65 73 65 20 6f 6c 64 20  nd on these old 
15260 6c 69 62 73 2c 22 3b 0a 20 20 20 20 20 20 20 20  libs,";.        
15270 20 20 20 20 65 77 61 72 6e 20 22 74 68 65 20 6c      ewarn "the l
15280 69 62 72 61 72 69 65 73 20 61 72 65 20 6e 6f 74  ibraries are not
15290 20 62 65 69 6e 67 20 72 65 6d 6f 76 65 64 2e 20   being removed. 
152a0 20 59 6f 75 20 6e 65 65 64 20 74 6f 20 72 75 6e   You need to run
152b0 20 72 65 76 64 65 70 2d 72 65 62 75 69 6c 64 22   revdep-rebuild"
152c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 77  ;.            ew
152d0 61 72 6e 20 22 69 6e 20 6f 72 64 65 72 20 74 6f  arn "in order to
152e0 20 72 65 6d 6f 76 65 20 74 68 65 73 65 20 6f 6c   remove these ol
152f0 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 20  d dependencies. 
15300 20 49 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 68   If you do not h
15310 61 76 65 20 74 68 69 73 22 3b 0a 20 20 20 20 20  ave this";.     
15320 20 20 20 20 20 20 20 65 77 61 72 6e 20 22 68 65         ewarn "he
15330 6c 70 65 72 20 70 72 6f 67 72 61 6d 2c 20 73 69  lper program, si
15340 6d 70 6c 79 20 65 6d 65 72 67 65 20 74 68 65 20  mply emerge the 
15350 27 67 65 6e 74 6f 6f 6c 6b 69 74 27 20 70 61 63  'gentoolkit' pac
15360 6b 61 67 65 2e 22 3b 0a 20 20 20 20 20 20 20 20  kage.";.        
15370 20 20 20 20 65 77 61 72 6e 3b 0a 20 20 20 20 20      ewarn;.     
15380 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 65     fi;.        e
15390 77 61 72 6e 20 22 20 20 23 20 72 65 76 64 65 70  warn "  # revdep
153a0 2d 72 65 62 75 69 6c 64 20 2d 2d 6c 69 62 72 61  -rebuild --libra
153b0 72 79 20 24 7b 6c 69 62 23 23 2a 2f 7d 22 3b 0a  ry ${lib##*/}";.
153c0 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 69 66      done;.    if
153d0 20 5b 5b 20 24 7b 6e 6f 74 69 63 65 7d 20 2d 65   [[ ${notice} -e
153e0 71 20 31 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  q 1 ]]; then.   
153f0 20 20 20 20 20 65 77 61 72 6e 3b 0a 20 20 20 20       ewarn;.    
15400 20 20 20 20 65 77 61 72 6e 20 22 4f 6e 63 65 20      ewarn "Once 
15410 79 6f 75 27 76 65 20 66 69 6e 69 73 68 65 64 20  you've finished 
15420 72 75 6e 6e 69 6e 67 20 72 65 76 64 65 70 2d 72  running revdep-r
15430 65 62 75 69 6c 64 2c 20 69 74 20 73 68 6f 75 6c  ebuild, it shoul
15440 64 20 62 65 20 73 61 66 65 20 74 6f 22 3b 0a 20  d be safe to";. 
15450 20 20 20 20 20 20 20 65 77 61 72 6e 20 22 64 65         ewarn "de
15460 6c 65 74 65 20 74 68 65 20 6f 6c 64 20 6c 69 62  lete the old lib
15470 72 61 72 69 65 73 2e 20 20 48 65 72 65 20 69 73  raries.  Here is
15480 20 61 20 63 6f 70 79 20 26 20 70 61 73 74 65 20   a copy & paste 
15490 66 6f 72 20 74 68 65 20 6c 61 7a 79 3a 22 3b 0a  for the lazy:";.
154a0 20 20 20 20 20 20 20 20 66 6f 72 20 6c 69 62 20          for lib 
154b0 69 6e 20 22 24 40 22 3b 0a 20 20 20 20 20 20 20  in "$@";.       
154c0 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20   do.            
154d0 65 77 61 72 6e 20 22 20 20 23 20 72 6d 20 27 24  ewarn "  # rm '$
154e0 7b 6c 69 62 7d 27 22 3b 0a 20 20 20 20 20 20 20  {lib}'";.       
154f0 20 64 6f 6e 65 3b 0a 20 20 20 20 66 69 0a 7d 0a   done;.    fi.}.
15500 73 65 71 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c  seq () .{ .    l
15510 6f 63 61 6c 20 70 3d 24 28 74 79 70 65 20 2d 50  ocal p=$(type -P
15520 20 73 65 71 29 3b 0a 20 20 20 20 63 61 73 65 20   seq);.    case 
15530 24 23 20 69 6e 20 0a 20 20 20 20 20 20 20 20 31  $# in .        1
15540 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 69  ).            mi
15550 6e 3d 31 20 6d 61 78 3d 24 31 20 73 74 65 70 3d  n=1 max=$1 step=
15560 31 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20  1.        ;;.   
15570 20 20 20 20 20 32 29 0a 20 20 20 20 20 20 20 20       2).        
15580 20 20 20 20 6d 69 6e 3d 24 31 20 6d 61 78 3d 24      min=$1 max=$
15590 32 20 73 74 65 70 3d 31 0a 20 20 20 20 20 20 20  2 step=1.       
155a0 20 3b 3b 0a 20 20 20 20 20 20 20 20 33 29 0a 20   ;;.        3). 
155b0 20 20 20 20 20 20 20 20 20 20 20 6d 69 6e 3d 24             min=$
155c0 31 20 6d 61 78 3d 24 33 20 73 74 65 70 3d 24 32  1 max=$3 step=$2
155d0 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  .        ;;.    
155e0 20 20 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20      *).         
155f0 20 20 20 64 69 65 20 22 73 65 71 20 63 61 6c 6c     die "seq call
15600 65 64 20 77 69 74 68 20 77 72 6f 6e 67 20 6e 75  ed with wrong nu
15610 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74  mber of argument
15620 73 22 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20  s".        ;;.  
15630 20 20 65 73 61 63 3b 0a 20 20 20 20 69 66 20 5b    esac;.    if [
15640 5b 20 2d 7a 20 24 7b 70 7d 20 5d 5d 3b 20 74 68  [ -z ${p} ]]; th
15650 65 6e 0a 20 20 20 20 20 20 20 20 6c 6f 63 61 6c  en.        local
15660 20 72 65 70 73 3b 0a 20 20 20 20 20 20 20 20 69   reps;.        i
15670 66 20 5b 5b 20 24 7b 73 74 65 70 7d 20 21 3d 20  f [[ ${step} != 
15680 30 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  0 ]]; then.     
15690 20 20 20 20 20 20 20 72 65 70 73 3d 24 28 28 20         reps=$(( 
156a0 28 24 6d 61 78 2d 24 6d 69 6e 29 20 2f 20 24 73  ($max-$min) / $s
156b0 74 65 70 20 2b 31 20 29 29 3b 0a 20 20 20 20 20  tep +1 ));.     
156c0 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20     else.        
156d0 20 20 20 20 72 65 70 73 3d 30 3b 0a 20 20 20 20      reps=0;.    
156e0 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20      fi;.        
156f0 6a 6f 74 20 24 72 65 70 73 20 24 6d 69 6e 20 24  jot $reps $min $
15700 6d 61 78 20 24 73 74 65 70 3b 0a 20 20 20 20 65  max $step;.    e
15710 6c 73 65 0a 20 20 20 20 20 20 20 20 22 24 7b 70  lse.        "${p
15720 7d 22 20 24 6d 69 6e 20 24 73 74 65 70 20 24 6d  }" $min $step $m
15730 61 78 3b 0a 20 20 20 20 66 69 0a 7d 0a 73 72 63  ax;.    fi.}.src
15740 5f 63 6f 6d 70 69 6c 65 20 28 29 20 0a 7b 20 0a  _compile () .{ .
15750 20 20 20 20 65 6d 61 6b 65 20 7c 7c 20 64 69 65      emake || die
15760 20 22 65 6d 61 6b 65 20 66 61 69 6c 65 64 22 0a   "emake failed".
15770 7d 0a 73 72 63 5f 63 6f 6e 66 69 67 75 72 65 20  }.src_configure 
15780 28 29 20 0a 7b 20 0a 20 20 20 20 65 63 6f 6e 66  () .{ .    econf
15790 20 24 28 75 73 65 5f 65 6e 61 62 6c 65 20 68 65   $(use_enable he
157a0 6c 70 65 72 20 63 2d 68 65 6c 70 65 72 29 20 24  lper c-helper) $
157b0 28 75 73 65 5f 65 6e 61 62 6c 65 20 74 68 72 65  (use_enable thre
157c0 61 64 73 29 20 7c 7c 20 64 69 65 20 22 65 63 6f  ads) || die "eco
157d0 6e 66 20 66 61 69 6c 65 64 22 0a 7d 0a 73 72 63  nf failed".}.src
157e0 5f 69 6e 73 74 61 6c 6c 20 28 29 20 0a 7b 20 0a  _install () .{ .
157f0 20 20 20 20 65 6d 61 6b 65 20 44 45 53 54 44 49      emake DESTDI
15800 52 3d 22 24 7b 44 7d 22 20 69 6e 73 74 61 6c 6c  R="${D}" install
15810 20 7c 7c 20 64 69 65 20 22 65 6d 61 6b 65 20 69   || die "emake i
15820 6e 73 74 61 6c 6c 20 66 61 69 6c 65 64 22 0a 7d  nstall failed".}
15830 0a 73 72 63 5f 70 72 65 70 61 72 65 20 28 29 20  .src_prepare () 
15840 0a 7b 20 0a 20 20 20 20 65 61 75 74 6f 63 6f 6e  .{ .    eautocon
15850 66 20 7c 7c 20 64 69 65 20 22 65 61 75 74 6f 63  f || die "eautoc
15860 6f 6e 66 20 66 61 69 6c 65 64 22 0a 7d 0a 73 72  onf failed".}.sr
15870 63 5f 74 65 73 74 20 28 29 20 0a 7b 20 0a 20 20  c_test () .{ .  
15880 20 20 5f 65 61 70 69 30 5f 73 72 63 5f 74 65 73    _eapi0_src_tes
15890 74 20 22 24 40 22 0a 7d 0a 73 72 63 5f 75 6e 70  t "$@".}.src_unp
158a0 61 63 6b 20 28 29 20 0a 7b 20 0a 20 20 20 20 73  ack () .{ .    s
158b0 75 62 76 65 72 73 69 6f 6e 5f 73 72 63 5f 75 6e  ubversion_src_un
158c0 70 61 63 6b 20 22 24 40 22 0a 7d 0a 73 74 72 69  pack "$@".}.stri
158d0 70 2d 6c 69 6e 67 75 61 73 20 28 29 20 0a 7b 20  p-linguas () .{ 
158e0 0a 20 20 20 20 6c 6f 63 61 6c 20 6c 73 20 6e 65  .    local ls ne
158f0 77 6c 73 20 6e 6f 6c 73 3b 0a 20 20 20 20 69 66  wls nols;.    if
15900 20 5b 5b 20 24 31 20 3d 3d 20 22 2d 69 22 20 5d   [[ $1 == "-i" ]
15910 5d 20 7c 7c 20 5b 5b 20 24 31 20 3d 3d 20 22 2d  ] || [[ $1 == "-
15920 75 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  u" ]]; then.    
15930 20 20 20 20 6c 6f 63 61 6c 20 6f 70 3d 24 31 3b      local op=$1;
15940 0a 20 20 20 20 20 20 20 20 73 68 69 66 74 3b 0a  .        shift;.
15950 20 20 20 20 20 20 20 20 6c 73 3d 24 28 66 69 6e          ls=$(fin
15960 64 20 22 24 31 22 20 2d 6e 61 6d 65 20 27 2a 2e  d "$1" -name '*.
15970 70 6f 27 20 2d 65 78 65 63 20 62 61 73 65 6e 61  po' -exec basena
15980 6d 65 20 7b 7d 20 2e 70 6f 20 27 3b 27 29 3b 0a  me {} .po ';');.
15990 20 20 20 20 20 20 20 20 73 68 69 66 74 3b 0a 20          shift;. 
159a0 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 64 20 66         local d f
159b0 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 64 20  ;.        for d 
159c0 69 6e 20 22 24 40 22 3b 0a 20 20 20 20 20 20 20  in "$@";.       
159d0 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20   do.            
159e0 69 66 20 5b 5b 20 24 7b 6f 70 7d 20 3d 3d 20 22  if [[ ${op} == "
159f0 2d 75 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  -u" ]]; then.   
15a00 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77               new
15a10 6c 73 3d 24 7b 6c 73 7d 3b 0a 20 20 20 20 20 20  ls=${ls};.      
15a20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
15a30 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 6c 73             newls
15a40 3d 22 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20  ="";.           
15a50 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20   fi;.           
15a60 20 66 6f 72 20 66 20 69 6e 20 24 28 66 69 6e 64   for f in $(find
15a70 20 22 24 64 22 20 2d 6e 61 6d 65 20 27 2a 2e 70   "$d" -name '*.p
15a80 6f 27 20 2d 65 78 65 63 20 62 61 73 65 6e 61 6d  o' -exec basenam
15a90 65 20 7b 7d 20 2e 70 6f 20 27 3b 27 29 3b 0a 20  e {} .po ';');. 
15aa0 20 20 20 20 20 20 20 20 20 20 20 64 6f 0a 20 20             do.  
15ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
15ac0 20 5b 5b 20 24 7b 6f 70 7d 20 3d 3d 20 22 2d 69   [[ ${op} == "-i
15ad0 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  " ]]; then.     
15ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68                 h
15af0 61 73 71 20 24 7b 66 7d 20 24 7b 6c 73 7d 20 26  asq ${f} ${ls} &
15b00 26 20 6e 65 77 6c 73 3d 22 24 7b 6e 65 77 6c 73  & newls="${newls
15b10 7d 20 24 7b 66 7d 22 3b 0a 20 20 20 20 20 20 20  } ${f}";.       
15b20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20           else.  
15b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
15b40 20 20 68 61 73 71 20 24 7b 66 7d 20 24 7b 6c 73    hasq ${f} ${ls
15b50 7d 20 7c 7c 20 6e 65 77 6c 73 3d 22 24 7b 6e 65  } || newls="${ne
15b60 77 6c 73 7d 20 24 7b 66 7d 22 3b 0a 20 20 20 20  wls} ${f}";.    
15b70 20 20 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a              fi;.
15b80 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 6e 65              done
15b90 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 73  ;.            ls
15ba0 3d 24 7b 6e 65 77 6c 73 7d 3b 0a 20 20 20 20 20  =${newls};.     
15bb0 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 65 6c 73     done;.    els
15bc0 65 0a 20 20 20 20 20 20 20 20 6c 73 3d 22 24 40  e.        ls="$@
15bd0 22 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 6e  ";.    fi;.    n
15be0 6f 6c 73 3d 22 22 3b 0a 20 20 20 20 6e 65 77 6c  ols="";.    newl
15bf0 73 3d 22 22 3b 0a 20 20 20 20 66 6f 72 20 66 20  s="";.    for f 
15c00 69 6e 20 24 7b 4c 49 4e 47 55 41 53 7d 3b 0a 20  in ${LINGUAS};. 
15c10 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 69 66     do.        if
15c20 20 68 61 73 71 20 24 7b 66 7d 20 24 7b 6c 73 7d   hasq ${f} ${ls}
15c30 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
15c40 20 20 20 6e 65 77 6c 73 3d 22 24 7b 6e 65 77 6c     newls="${newl
15c50 73 7d 20 24 7b 66 7d 22 3b 0a 20 20 20 20 20 20  s} ${f}";.      
15c60 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20    else.         
15c70 20 20 20 6e 6f 6c 73 3d 22 24 7b 6e 6f 6c 73 7d     nols="${nols}
15c80 20 24 7b 66 7d 22 3b 0a 20 20 20 20 20 20 20 20   ${f}";.        
15c90 66 69 3b 0a 20 20 20 20 64 6f 6e 65 3b 0a 20 20  fi;.    done;.  
15ca0 20 20 5b 5b 20 2d 6e 20 24 7b 6e 6f 6c 73 7d 20    [[ -n ${nols} 
15cb0 5d 5d 20 26 26 20 65 77 61 72 6e 20 22 53 6f 72  ]] && ewarn "Sor
15cc0 72 79 2c 20 62 75 74 20 24 7b 50 4e 7d 20 64 6f  ry, but ${PN} do
15cd0 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 74  es not support t
15ce0 68 65 20 4c 49 4e 47 55 41 53 3a 22 20 24 7b 6e  he LINGUAS:" ${n
15cf0 6f 6c 73 7d 3b 0a 20 20 20 20 65 78 70 6f 72 74  ols};.    export
15d00 20 4c 49 4e 47 55 41 53 3d 24 7b 6e 65 77 6c 73   LINGUAS=${newls
15d10 3a 31 7d 0a 7d 0a 73 75 62 76 65 72 73 69 6f 6e  :1}.}.subversion
15d20 5f 5f 67 65 74 5f 70 65 67 5f 72 65 76 69 73 69  __get_peg_revisi
15d30 6f 6e 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f  on () .{ .    lo
15d40 63 61 6c 20 72 65 70 6f 5f 75 72 69 3d 22 24 7b  cal repo_uri="${
15d50 31 7d 22 3b 0a 20 20 20 20 64 65 62 75 67 2d 70  1}";.    debug-p
15d60 72 69 6e 74 20 22 24 7b 46 55 4e 43 4e 41 4d 45  rint "${FUNCNAME
15d70 7d 3a 20 72 65 70 6f 5f 75 72 69 20 3d 20 24 7b  }: repo_uri = ${
15d80 72 65 70 6f 5f 75 72 69 7d 22 3b 0a 20 20 20 20  repo_uri}";.    
15d90 69 66 20 5b 5b 20 24 7b 72 65 70 6f 5f 75 72 69  if [[ ${repo_uri
15da0 7d 20 21 3d 20 2a 40 2a 20 5d 5d 3b 20 74 68 65  } != *@* ]]; the
15db0 6e 0a 20 20 20 20 20 20 20 20 64 65 62 75 67 2d  n.        debug-
15dc0 70 72 69 6e 74 20 22 24 7b 46 55 4e 43 4e 41 4d  print "${FUNCNAM
15dd0 45 7d 3a 20 72 65 70 6f 5f 75 72 69 20 64 6f 65  E}: repo_uri doe
15de0 73 20 6e 6f 74 20 68 61 76 65 20 61 20 70 65 67  s not have a peg
15df0 20 72 65 76 69 73 69 6f 6e 2e 22 3b 0a 20 20 20   revision.";.   
15e00 20 66 69 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 70   fi;.    local p
15e10 65 67 5f 72 65 76 3d 3b 0a 20 20 20 20 5b 5b 20  eg_rev=;.    [[ 
15e20 24 7b 72 65 70 6f 5f 75 72 69 7d 20 3d 20 2a 40  ${repo_uri} = *@
15e30 2a 20 5d 5d 20 26 26 20 70 65 67 5f 72 65 76 3d  * ]] && peg_rev=
15e40 22 24 7b 72 65 70 6f 5f 75 72 69 23 23 2a 40 7d  "${repo_uri##*@}
15e50 22 3b 0a 20 20 20 20 64 65 62 75 67 2d 70 72 69  ";.    debug-pri
15e60 6e 74 20 22 24 7b 46 55 4e 43 4e 41 4d 45 7d 3a  nt "${FUNCNAME}:
15e70 20 70 65 67 5f 72 65 76 20 3d 20 24 7b 70 65 67   peg_rev = ${peg
15e80 5f 72 65 76 7d 22 3b 0a 20 20 20 20 65 63 68 6f  _rev}";.    echo
15e90 20 22 24 7b 70 65 67 5f 72 65 76 7d 22 0a 7d 0a   "${peg_rev}".}.
15ea0 73 75 62 76 65 72 73 69 6f 6e 5f 5f 67 65 74 5f  subversion__get_
15eb0 72 65 70 6f 73 69 74 6f 72 79 5f 75 72 69 20 28  repository_uri (
15ec0 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20  ) .{ .    local 
15ed0 72 65 70 6f 5f 75 72 69 3d 22 24 7b 31 7d 22 3b  repo_uri="${1}";
15ee0 0a 20 20 20 20 64 65 62 75 67 2d 70 72 69 6e 74  .    debug-print
15ef0 20 22 24 7b 46 55 4e 43 4e 41 4d 45 7d 3a 20 72   "${FUNCNAME}: r
15f00 65 70 6f 5f 75 72 69 20 3d 20 24 7b 72 65 70 6f  epo_uri = ${repo
15f10 5f 75 72 69 7d 22 3b 0a 20 20 20 20 69 66 20 5b  _uri}";.    if [
15f20 5b 20 2d 7a 20 24 7b 72 65 70 6f 5f 75 72 69 7d  [ -z ${repo_uri}
15f30 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20   ]]; then.      
15f40 20 20 64 69 65 20 22 24 7b 45 53 56 4e 7d 3a 20    die "${ESVN}: 
15f50 45 53 56 4e 5f 52 45 50 4f 5f 55 52 49 20 28 6f  ESVN_REPO_URI (o
15f60 72 20 73 70 65 63 69 66 69 65 64 20 55 52 49 29  r specified URI)
15f70 20 69 73 20 65 6d 70 74 79 2e 22 3b 0a 20 20 20   is empty.";.   
15f80 20 66 69 3b 0a 20 20 20 20 69 66 20 5b 5b 20 2d   fi;.    if [[ -
15f90 7a 20 24 7b 72 65 70 6f 5f 75 72 69 23 23 2a 2f  z ${repo_uri##*/
15fa0 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  } ]]; then.     
15fb0 20 20 20 72 65 70 6f 5f 75 72 69 3d 22 24 7b 72     repo_uri="${r
15fc0 65 70 6f 5f 75 72 69 25 2f 7d 22 3b 0a 20 20 20  epo_uri%/}";.   
15fd0 20 66 69 3b 0a 20 20 20 20 72 65 70 6f 5f 75 72   fi;.    repo_ur
15fe0 69 3d 22 24 7b 72 65 70 6f 5f 75 72 69 25 40 2a  i="${repo_uri%@*
15ff0 7d 22 3b 0a 20 20 20 20 65 63 68 6f 20 22 24 7b  }";.    echo "${
16000 72 65 70 6f 5f 75 72 69 7d 22 0a 7d 0a 73 75 62  repo_uri}".}.sub
16010 76 65 72 73 69 6f 6e 5f 5f 67 65 74 5f 77 63 5f  version__get_wc_
16020 70 61 74 68 20 28 29 20 0a 7b 20 0a 20 20 20 20  path () .{ .    
16030 6c 6f 63 61 6c 20 72 65 70 6f 5f 75 72 69 3d 22  local repo_uri="
16040 24 28 73 75 62 76 65 72 73 69 6f 6e 5f 5f 67 65  $(subversion__ge
16050 74 5f 72 65 70 6f 73 69 74 6f 72 79 5f 75 72 69  t_repository_uri
16060 20 22 24 7b 31 7d 22 29 22 3b 0a 20 20 20 20 64   "${1}")";.    d
16070 65 62 75 67 2d 70 72 69 6e 74 20 22 24 7b 46 55  ebug-print "${FU
16080 4e 43 4e 41 4d 45 7d 3a 20 72 65 70 6f 5f 75 72  NCNAME}: repo_ur
16090 69 20 3d 20 24 7b 72 65 70 6f 5f 75 72 69 7d 22  i = ${repo_uri}"
160a0 3b 0a 20 20 20 20 65 63 68 6f 20 22 24 7b 45 53  ;.    echo "${ES
160b0 56 4e 5f 53 54 4f 52 45 5f 44 49 52 7d 2f 24 7b  VN_STORE_DIR}/${
160c0 45 53 56 4e 5f 50 52 4f 4a 45 43 54 7d 2f 24 7b  ESVN_PROJECT}/${
160d0 72 65 70 6f 5f 75 72 69 23 23 2a 2f 7d 22 0a 7d  repo_uri##*/}".}
160e0 0a 73 75 62 76 65 72 73 69 6f 6e 5f 5f 73 76 6e  .subversion__svn
160f0 5f 69 6e 66 6f 20 28 29 20 0a 7b 20 0a 20 20 20  _info () .{ .   
16100 20 6c 6f 63 61 6c 20 74 61 72 67 65 74 3d 22 24   local target="$
16110 7b 31 7d 22 3b 0a 20 20 20 20 6c 6f 63 61 6c 20  {1}";.    local 
16120 6b 65 79 3d 22 24 7b 32 7d 22 3b 0a 20 20 20 20  key="${2}";.    
16130 65 6e 76 20 4c 43 5f 41 4c 4c 3d 43 20 73 76 6e  env LC_ALL=C svn
16140 20 69 6e 66 6f 20 22 24 7b 74 61 72 67 65 74 7d   info "${target}
16150 22 20 7c 20 67 72 65 70 20 2d 69 20 22 5e 24 7b  " | grep -i "^${
16160 6b 65 79 7d 22 20 7c 20 63 75 74 20 2d 64 22 20  key}" | cut -d" 
16170 22 20 2d 66 32 2d 0a 7d 0a 73 75 62 76 65 72 73  " -f2-.}.subvers
16180 69 6f 6e 5f 62 6f 6f 74 73 74 72 61 70 20 28 29  ion_bootstrap ()
16190 20 0a 7b 20 0a 20 20 20 20 69 66 20 68 61 73 20   .{ .    if has 
161a0 22 65 78 70 6f 72 74 22 20 24 7b 45 53 56 4e 5f  "export" ${ESVN_
161b0 52 45 53 54 52 49 43 54 7d 3b 20 74 68 65 6e 0a  RESTRICT}; then.
161c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a          return;.
161d0 20 20 20 20 66 69 3b 0a 20 20 20 20 63 64 20 22      fi;.    cd "
161e0 24 7b 53 7d 22 3b 0a 20 20 20 20 69 66 20 5b 5b  ${S}";.    if [[
161f0 20 2d 6e 20 24 7b 45 53 56 4e 5f 50 41 54 43 48   -n ${ESVN_PATCH
16200 45 53 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  ES} ]]; then.   
16210 20 20 20 20 20 65 69 6e 66 6f 20 22 61 70 70 6c       einfo "appl
16220 79 20 70 61 74 63 68 65 73 20 2d 2d 3e 22 3b 0a  y patches -->";.
16230 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 70 61          local pa
16240 74 63 68 20 66 70 61 74 63 68 3b 0a 20 20 20 20  tch fpatch;.    
16250 20 20 20 20 66 6f 72 20 70 61 74 63 68 20 69 6e      for patch in
16260 20 24 7b 45 53 56 4e 5f 50 41 54 43 48 45 53 7d   ${ESVN_PATCHES}
16270 3b 0a 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20  ;.        do.   
16280 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 2d           if [[ -
16290 66 20 24 7b 70 61 74 63 68 7d 20 5d 5d 3b 20 74  f ${patch} ]]; t
162a0 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20  hen.            
162b0 20 20 20 20 65 70 61 74 63 68 20 22 24 7b 70 61      epatch "${pa
162c0 74 63 68 7d 22 3b 0a 20 20 20 20 20 20 20 20 20  tch}";.         
162d0 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20     else.        
162e0 20 20 20 20 20 20 20 20 66 6f 72 20 66 70 61 74          for fpat
162f0 63 68 20 69 6e 20 24 7b 46 49 4c 45 53 44 49 52  ch in ${FILESDIR
16300 7d 2f 24 7b 70 61 74 63 68 7d 3b 0a 20 20 20 20  }/${patch};.    
16310 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 0a 20              do. 
16320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16330 20 20 20 69 66 20 5b 5b 20 2d 66 20 24 7b 66 70     if [[ -f ${fp
16340 61 74 63 68 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20  atch} ]]; then. 
16350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16360 20 20 20 20 20 20 20 65 70 61 74 63 68 20 22 24         epatch "$
16370 7b 66 70 61 74 63 68 7d 22 3b 0a 20 20 20 20 20  {fpatch}";.     
16380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65                 e
16390 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  lse.            
163a0 20 20 20 20 20 20 20 20 20 20 20 20 64 69 65 20              die 
163b0 22 24 7b 45 53 56 4e 7d 3a 20 24 7b 70 61 74 63  "${ESVN}: ${patc
163c0 68 7d 20 6e 6f 74 20 66 6f 75 6e 64 22 3b 0a 20  h} not found";. 
163d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
163e0 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20     fi;.         
163f0 20 20 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20         done;.   
16400 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20           fi;.   
16410 20 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20 20       done;.     
16420 20 20 20 65 63 68 6f 3b 0a 20 20 20 20 66 69 3b     echo;.    fi;
16430 0a 20 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24 7b  .    if [[ -n ${
16440 45 53 56 4e 5f 42 4f 4f 54 53 54 52 41 50 7d 20  ESVN_BOOTSTRAP} 
16450 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
16460 20 65 69 6e 66 6f 20 22 62 65 67 69 6e 20 62 6f   einfo "begin bo
16470 6f 74 73 74 72 61 70 20 2d 2d 3e 22 3b 0a 20 20  otstrap -->";.  
16480 20 20 20 20 20 20 69 66 20 5b 5b 20 2d 66 20 24        if [[ -f $
16490 7b 45 53 56 4e 5f 42 4f 4f 54 53 54 52 41 50 7d  {ESVN_BOOTSTRAP}
164a0 20 26 26 20 2d 78 20 24 7b 45 53 56 4e 5f 42 4f   && -x ${ESVN_BO
164b0 4f 54 53 54 52 41 50 7d 20 5d 5d 3b 20 74 68 65  OTSTRAP} ]]; the
164c0 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 69  n.            ei
164d0 6e 66 6f 20 22 20 20 20 62 6f 6f 74 73 74 72 61  nfo "   bootstra
164e0 70 20 77 69 74 68 20 61 20 66 69 6c 65 3a 20 24  p with a file: $
164f0 7b 45 53 56 4e 5f 42 4f 4f 54 53 54 52 41 50 7d  {ESVN_BOOTSTRAP}
16500 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  ";.            e
16510 76 61 6c 20 22 2e 2f 24 7b 45 53 56 4e 5f 42 4f  val "./${ESVN_BO
16520 4f 54 53 54 52 41 50 7d 22 20 7c 7c 20 64 69 65  OTSTRAP}" || die
16530 20 22 24 7b 45 53 56 4e 7d 3a 20 63 61 6e 27 74   "${ESVN}: can't
16540 20 65 78 65 63 75 74 65 20 45 53 56 4e 5f 42 4f   execute ESVN_BO
16550 4f 54 53 54 52 41 50 2e 22 3b 0a 20 20 20 20 20  OTSTRAP.";.     
16560 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20     else.        
16570 20 20 20 20 65 69 6e 66 6f 20 22 20 20 20 62 6f      einfo "   bo
16580 6f 74 73 74 72 61 70 20 77 69 74 68 20 63 6f 6d  otstrap with com
16590 6d 61 6e 64 3a 20 24 7b 45 53 56 4e 5f 42 4f 4f  mand: ${ESVN_BOO
165a0 54 53 54 52 41 50 7d 22 3b 0a 20 20 20 20 20 20  TSTRAP}";.      
165b0 20 20 20 20 20 20 65 76 61 6c 20 22 24 7b 45 53        eval "${ES
165c0 56 4e 5f 42 4f 4f 54 53 54 52 41 50 7d 22 20 7c  VN_BOOTSTRAP}" |
165d0 7c 20 64 69 65 20 22 24 7b 45 53 56 4e 7d 3a 20  | die "${ESVN}: 
165e0 63 61 6e 27 74 20 65 76 61 6c 20 45 53 56 4e 5f  can't eval ESVN_
165f0 42 4f 4f 54 53 54 52 41 50 2e 22 3b 0a 20 20 20  BOOTSTRAP.";.   
16600 20 20 20 20 20 66 69 3b 0a 20 20 20 20 66 69 0a       fi;.    fi.
16610 7d 0a 73 75 62 76 65 72 73 69 6f 6e 5f 66 65 74  }.subversion_fet
16620 63 68 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f  ch () .{ .    lo
16630 63 61 6c 20 72 65 70 6f 5f 75 72 69 3d 22 24 28  cal repo_uri="$(
16640 73 75 62 76 65 72 73 69 6f 6e 5f 5f 67 65 74 5f  subversion__get_
16650 72 65 70 6f 73 69 74 6f 72 79 5f 75 72 69 20 22  repository_uri "
16660 24 7b 31 3a 2d 24 7b 45 53 56 4e 5f 52 45 50 4f  ${1:-${ESVN_REPO
16670 5f 55 52 49 7d 7d 22 29 22 3b 0a 20 20 20 20 6c  _URI}}")";.    l
16680 6f 63 61 6c 20 72 65 76 69 73 69 6f 6e 3d 22 24  ocal revision="$
16690 28 73 75 62 76 65 72 73 69 6f 6e 5f 5f 67 65 74  (subversion__get
166a0 5f 70 65 67 5f 72 65 76 69 73 69 6f 6e 20 22 24  _peg_revision "$
166b0 7b 31 3a 2d 24 7b 45 53 56 4e 5f 52 45 50 4f 5f  {1:-${ESVN_REPO_
166c0 55 52 49 7d 7d 22 29 22 3b 0a 20 20 20 20 6c 6f  URI}}")";.    lo
166d0 63 61 6c 20 53 5f 64 65 73 74 3d 22 24 7b 32 7d  cal S_dest="${2}
166e0 22 3b 0a 20 20 20 20 69 66 20 5b 5b 20 2d 7a 20  ";.    if [[ -z 
166f0 24 7b 72 65 70 6f 5f 75 72 69 7d 20 5d 5d 3b 20  ${repo_uri} ]]; 
16700 74 68 65 6e 0a 20 20 20 20 20 20 20 20 64 69 65  then.        die
16710 20 22 24 7b 45 53 56 4e 7d 3a 20 45 53 56 4e 5f   "${ESVN}: ESVN_
16720 52 45 50 4f 5f 55 52 49 20 28 6f 72 20 73 70 65  REPO_URI (or spe
16730 63 69 66 69 65 64 20 55 52 49 29 20 69 73 20 65  cified URI) is e
16740 6d 70 74 79 2e 22 3b 0a 20 20 20 20 66 69 3b 0a  mpty.";.    fi;.
16750 20 20 20 20 5b 5b 20 2d 6e 20 22 24 7b 45 53 56      [[ -n "${ESV
16760 4e 5f 52 45 56 49 53 49 4f 4e 7d 22 20 5d 5d 20  N_REVISION}" ]] 
16770 26 26 20 72 65 76 69 73 69 6f 6e 3d 22 24 7b 45  && revision="${E
16780 53 56 4e 5f 52 45 56 49 53 49 4f 4e 7d 22 3b 0a  SVN_REVISION}";.
16790 20 20 20 20 6c 6f 63 61 6c 20 70 72 6f 74 6f 63      local protoc
167a0 6f 6c 3d 22 24 7b 72 65 70 6f 5f 75 72 69 25 25  ol="${repo_uri%%
167b0 3a 2a 7d 22 3b 0a 20 20 20 20 63 61 73 65 20 22  :*}";.    case "
167c0 24 7b 70 72 6f 74 6f 63 6f 6c 7d 22 20 69 6e 20  ${protocol}" in 
167d0 0a 20 20 20 20 20 20 20 20 68 74 74 70 20 7c 20  .        http | 
167e0 68 74 74 70 73 29 0a 20 20 20 20 20 20 20 20 20  https).         
167f0 20 20 20 69 66 20 21 20 62 75 69 6c 74 5f 77 69     if ! built_wi
16800 74 68 5f 75 73 65 20 2d 6f 20 64 65 76 2d 75 74  th_use -o dev-ut
16810 69 6c 2f 73 75 62 76 65 72 73 69 6f 6e 20 77 65  il/subversion we
16820 62 64 61 76 2d 6e 65 6f 6e 20 77 65 62 64 61 76  bdav-neon webdav
16830 2d 73 65 72 66 3b 20 74 68 65 6e 0a 20 20 20 20  -serf; then.    
16840 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f              echo
16850 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
16860 20 20 65 65 72 72 6f 72 20 22 49 6e 20 6f 72 64    eerror "In ord
16870 65 72 20 74 6f 20 65 6d 65 72 67 65 20 74 68 69  er to emerge thi
16880 73 20 70 61 63 6b 61 67 65 2c 20 79 6f 75 20 6e  s package, you n
16890 65 65 64 20 74 6f 22 3b 0a 20 20 20 20 20 20 20  eed to";.       
168a0 20 20 20 20 20 20 20 20 20 65 65 72 72 6f 72 20           eerror 
168b0 22 72 65 69 6e 73 74 61 6c 6c 20 53 75 62 76 65  "reinstall Subve
168c0 72 73 69 6f 6e 20 77 69 74 68 20 73 75 70 70 6f  rsion with suppo
168d0 72 74 20 66 6f 72 20 57 65 62 44 41 56 2e 22 3b  rt for WebDAV.";
168e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
168f0 20 65 65 72 72 6f 72 20 22 53 75 62 76 65 72 73   eerror "Subvers
16900 69 6f 6e 20 72 65 71 75 69 72 65 73 20 65 69 74  ion requires eit
16910 68 65 72 20 4e 65 6f 6e 20 6f 72 20 53 65 72 66  her Neon or Serf
16920 20 74 6f 20 73 75 70 70 6f 72 74 20 57 65 62 44   to support WebD
16930 41 56 2e 22 3b 0a 20 20 20 20 20 20 20 20 20 20  AV.";.          
16940 20 20 20 20 20 20 65 63 68 6f 3b 0a 20 20 20 20        echo;.    
16950 20 20 20 20 20 20 20 20 20 20 20 20 64 69 65 20              die 
16960 22 24 7b 45 53 56 4e 7d 3a 20 72 65 69 6e 73 74  "${ESVN}: reinst
16970 61 6c 6c 20 53 75 62 76 65 72 73 69 6f 6e 20 77  all Subversion w
16980 69 74 68 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ith support for 
16990 57 65 62 44 41 56 2e 22 3b 0a 20 20 20 20 20 20  WebDAV.";.      
169a0 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20        fi.       
169b0 20 3b 3b 0a 20 20 20 20 20 20 20 20 73 76 6e 20   ;;.        svn 
169c0 7c 20 73 76 6e 2b 73 73 68 29 0a 0a 20 20 20 20  | svn+ssh)..    
169d0 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 2a      ;;.        *
169e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69  ).            di
169f0 65 20 22 24 7b 45 53 56 4e 7d 3a 20 66 65 74 63  e "${ESVN}: fetc
16a00 68 20 66 72 6f 6d 20 27 24 7b 70 72 6f 74 6f 63  h from '${protoc
16a10 6f 6c 7d 27 20 69 73 20 6e 6f 74 20 79 65 74 20  ol}' is not yet 
16a20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 22 0a 20 20  implemented.".  
16a30 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61        ;;.    esa
16a40 63 3b 0a 20 20 20 20 61 64 64 72 65 61 64 20 22  c;.    addread "
16a50 2f 65 74 63 2f 73 75 62 76 65 72 73 69 6f 6e 22  /etc/subversion"
16a60 3b 0a 20 20 20 20 61 64 64 77 72 69 74 65 20 22  ;.    addwrite "
16a70 24 7b 45 53 56 4e 5f 53 54 4f 52 45 5f 44 49 52  ${ESVN_STORE_DIR
16a80 7d 22 3b 0a 20 20 20 20 69 66 20 5b 5b 20 21 20  }";.    if [[ ! 
16a90 2d 64 20 24 7b 45 53 56 4e 5f 53 54 4f 52 45 5f  -d ${ESVN_STORE_
16aa0 44 49 52 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  DIR} ]]; then.  
16ab0 20 20 20 20 20 20 64 65 62 75 67 2d 70 72 69 6e        debug-prin
16ac0 74 20 22 24 7b 46 55 4e 43 4e 41 4d 45 7d 3a 20  t "${FUNCNAME}: 
16ad0 69 6e 69 74 69 61 6c 20 63 68 65 63 6b 6f 75 74  initial checkout
16ae0 2e 20 63 72 65 61 74 69 6e 67 20 73 75 62 76 65  . creating subve
16af0 72 73 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 22  rsion directory"
16b00 3b 0a 20 20 20 20 20 20 20 20 6d 6b 64 69 72 20  ;.        mkdir 
16b10 2d 70 20 22 24 7b 45 53 56 4e 5f 53 54 4f 52 45  -p "${ESVN_STORE
16b20 5f 44 49 52 7d 22 20 7c 7c 20 64 69 65 20 22 24  _DIR}" || die "$
16b30 7b 45 53 56 4e 7d 3a 20 63 61 6e 27 74 20 6d 6b  {ESVN}: can't mk
16b40 64 69 72 20 24 7b 45 53 56 4e 5f 53 54 4f 52 45  dir ${ESVN_STORE
16b50 5f 44 49 52 7d 2e 22 3b 0a 20 20 20 20 66 69 3b  _DIR}.";.    fi;
16b60 0a 20 20 20 20 63 64 20 22 24 7b 45 53 56 4e 5f  .    cd "${ESVN_
16b70 53 54 4f 52 45 5f 44 49 52 7d 22 20 7c 7c 20 64  STORE_DIR}" || d
16b80 69 65 20 22 24 7b 45 53 56 4e 7d 3a 20 63 61 6e  ie "${ESVN}: can
16b90 27 74 20 63 68 64 69 72 20 74 6f 20 24 7b 45 53  't chdir to ${ES
16ba0 56 4e 5f 53 54 4f 52 45 5f 44 49 52 7d 22 3b 0a  VN_STORE_DIR}";.
16bb0 20 20 20 20 6c 6f 63 61 6c 20 77 63 5f 70 61 74      local wc_pat
16bc0 68 3d 22 24 28 73 75 62 76 65 72 73 69 6f 6e 5f  h="$(subversion_
16bd0 5f 67 65 74 5f 77 63 5f 70 61 74 68 20 22 24 7b  _get_wc_path "${
16be0 72 65 70 6f 5f 75 72 69 7d 22 29 22 3b 0a 20 20  repo_uri}")";.  
16bf0 20 20 6c 6f 63 61 6c 20 6f 70 74 69 6f 6e 73 3d    local options=
16c00 22 24 7b 45 53 56 4e 5f 4f 50 54 49 4f 4e 53 7d  "${ESVN_OPTIONS}
16c10 20 2d 2d 63 6f 6e 66 69 67 2d 64 69 72 20 24 7b   --config-dir ${
16c20 45 53 56 4e 5f 53 54 4f 52 45 5f 44 49 52 7d 2f  ESVN_STORE_DIR}/
16c30 2e 73 75 62 76 65 72 73 69 6f 6e 22 3b 0a 20 20  .subversion";.  
16c40 20 20 5b 5b 20 2d 6e 20 22 24 7b 72 65 76 69 73    [[ -n "${revis
16c50 69 6f 6e 7d 22 20 5d 5d 20 26 26 20 6f 70 74 69  ion}" ]] && opti
16c60 6f 6e 73 3d 22 24 7b 6f 70 74 69 6f 6e 73 7d 20  ons="${options} 
16c70 2d 72 20 24 7b 72 65 76 69 73 69 6f 6e 7d 22 3b  -r ${revision}";
16c80 0a 20 20 20 20 69 66 20 5b 5b 20 22 24 7b 45 53  .    if [[ "${ES
16c90 56 4e 5f 4f 50 54 49 4f 4e 53 7d 22 20 3d 20 2a  VN_OPTIONS}" = *
16ca0 2d 72 2a 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  -r* ]]; then.   
16cb0 20 20 20 20 20 65 77 61 72 6e 20 22 5c 24 7b 45       ewarn "\${E
16cc0 53 56 4e 5f 4f 50 54 49 4f 4e 53 7d 20 63 6f 6e  SVN_OPTIONS} con
16cd0 74 61 69 6e 73 20 2d 72 2c 20 74 68 69 73 20 75  tains -r, this u
16ce0 73 61 67 65 20 69 73 20 75 6e 73 75 70 70 6f 72  sage is unsuppor
16cf0 74 65 64 2e 20 50 6c 65 61 73 65 22 3b 0a 20 20  ted. Please";.  
16d00 20 20 20 20 20 20 65 77 61 72 6e 20 22 73 65 65        ewarn "see
16d10 20 5c 24 7b 45 53 56 4e 5f 52 45 50 4f 5f 55 52   \${ESVN_REPO_UR
16d20 49 7d 22 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20  I}";.    fi;.   
16d30 20 69 66 20 68 61 73 5f 76 65 72 73 69 6f 6e 20   if has_version 
16d40 22 3e 3d 64 65 76 2d 75 74 69 6c 2f 73 75 62 76  ">=dev-util/subv
16d50 65 72 73 69 6f 6e 2d 31 2e 36 2e 30 22 3b 20 74  ersion-1.6.0"; t
16d60 68 65 6e 0a 20 20 20 20 20 20 20 20 6f 70 74 69  hen.        opti
16d70 6f 6e 73 3d 22 24 7b 6f 70 74 69 6f 6e 73 7d 20  ons="${options} 
16d80 2d 2d 63 6f 6e 66 69 67 2d 6f 70 74 69 6f 6e 3d  --config-option=
16d90 63 6f 6e 66 69 67 3a 61 75 74 68 3a 70 61 73 73  config:auth:pass
16da0 77 6f 72 64 2d 73 74 6f 72 65 73 3d 22 3b 0a 20  word-stores=";. 
16db0 20 20 20 66 69 3b 0a 20 20 20 20 64 65 62 75 67     fi;.    debug
16dc0 2d 70 72 69 6e 74 20 22 24 7b 46 55 4e 43 4e 41  -print "${FUNCNA
16dd0 4d 45 7d 3a 20 77 63 5f 70 61 74 68 20 3d 20 5c  ME}: wc_path = \
16de0 22 24 7b 77 63 5f 70 61 74 68 7d 5c 22 22 3b 0a  "${wc_path}\"";.
16df0 20 20 20 20 64 65 62 75 67 2d 70 72 69 6e 74 20      debug-print 
16e00 22 24 7b 46 55 4e 43 4e 41 4d 45 7d 3a 20 45 53  "${FUNCNAME}: ES
16e10 56 4e 5f 4f 50 54 49 4f 4e 53 20 3d 20 5c 22 24  VN_OPTIONS = \"$
16e20 7b 45 53 56 4e 5f 4f 50 54 49 4f 4e 53 7d 5c 22  {ESVN_OPTIONS}\"
16e30 22 3b 0a 20 20 20 20 64 65 62 75 67 2d 70 72 69  ";.    debug-pri
16e40 6e 74 20 22 24 7b 46 55 4e 43 4e 41 4d 45 7d 3a  nt "${FUNCNAME}:
16e50 20 6f 70 74 69 6f 6e 73 20 3d 20 5c 22 24 7b 6f   options = \"${o
16e60 70 74 69 6f 6e 73 7d 5c 22 22 3b 0a 20 20 20 20  ptions}\"";.    
16e70 69 66 20 5b 5b 20 21 20 2d 64 20 24 7b 77 63 5f  if [[ ! -d ${wc_
16e80 70 61 74 68 7d 2f 2e 73 76 6e 20 5d 5d 3b 20 74  path}/.svn ]]; t
16e90 68 65 6e 0a 20 20 20 20 20 20 20 20 69 66 20 5b  hen.        if [
16ea0 5b 20 2d 6e 20 24 7b 45 53 56 4e 5f 4f 46 46 4c  [ -n ${ESVN_OFFL
16eb0 49 4e 45 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  INE} ]]; then.  
16ec0 20 20 20 20 20 20 20 20 20 20 65 77 61 72 6e 20            ewarn 
16ed0 22 45 53 56 4e 5f 4f 46 46 4c 49 4e 45 20 63 61  "ESVN_OFFLINE ca
16ee0 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 77 68 65  nnot be used whe
16ef0 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 65 78  n there is no ex
16f00 69 73 74 69 6e 67 20 63 68 65 63 6b 6f 75 74 2e  isting checkout.
16f10 22 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20  ";.        fi;. 
16f20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22 73 75         einfo "su
16f30 62 76 65 72 73 69 6f 6e 20 63 68 65 63 6b 20 6f  bversion check o
16f40 75 74 20 73 74 61 72 74 20 2d 2d 3e 22 3b 0a 20  ut start -->";. 
16f50 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22 20 20         einfo "  
16f60 20 20 20 72 65 70 6f 73 69 74 6f 72 79 3a 20 24     repository: $
16f70 7b 72 65 70 6f 5f 75 72 69 7d 24 7b 72 65 76 69  {repo_uri}${revi
16f80 73 69 6f 6e 3a 2b 40 7d 24 7b 72 65 76 69 73 69  sion:+@}${revisi
16f90 6f 6e 7d 22 3b 0a 20 20 20 20 20 20 20 20 64 65  on}";.        de
16fa0 62 75 67 2d 70 72 69 6e 74 20 22 24 7b 46 55 4e  bug-print "${FUN
16fb0 43 4e 41 4d 45 7d 3a 20 24 7b 45 53 56 4e 5f 46  CNAME}: ${ESVN_F
16fc0 45 54 43 48 5f 43 4d 44 7d 20 24 7b 6f 70 74 69  ETCH_CMD} ${opti
16fd0 6f 6e 73 7d 20 24 7b 72 65 70 6f 5f 75 72 69 7d  ons} ${repo_uri}
16fe0 22 3b 0a 20 20 20 20 20 20 20 20 6d 6b 64 69 72  ";.        mkdir
16ff0 20 2d 70 20 22 24 7b 45 53 56 4e 5f 50 52 4f 4a   -p "${ESVN_PROJ
17000 45 43 54 7d 22 20 7c 7c 20 64 69 65 20 22 24 7b  ECT}" || die "${
17010 45 53 56 4e 7d 3a 20 63 61 6e 27 74 20 6d 6b 64  ESVN}: can't mkd
17020 69 72 20 24 7b 45 53 56 4e 5f 50 52 4f 4a 45 43  ir ${ESVN_PROJEC
17030 54 7d 2e 22 3b 0a 20 20 20 20 20 20 20 20 63 64  T}.";.        cd
17040 20 22 24 7b 45 53 56 4e 5f 50 52 4f 4a 45 43 54   "${ESVN_PROJECT
17050 7d 22 20 7c 7c 20 64 69 65 20 22 24 7b 45 53 56  }" || die "${ESV
17060 4e 7d 3a 20 63 61 6e 27 74 20 63 68 64 69 72 20  N}: can't chdir 
17070 74 6f 20 24 7b 45 53 56 4e 5f 50 52 4f 4a 45 43  to ${ESVN_PROJEC
17080 54 7d 22 3b 0a 20 20 20 20 20 20 20 20 69 66 20  T}";.        if 
17090 5b 5b 20 2d 6e 20 22 24 7b 45 53 56 4e 5f 55 53  [[ -n "${ESVN_US
170a0 45 52 7d 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  ER}" ]]; then.  
170b0 20 20 20 20 20 20 20 20 20 20 24 7b 45 53 56 4e            ${ESVN
170c0 5f 46 45 54 43 48 5f 43 4d 44 7d 20 24 7b 6f 70  _FETCH_CMD} ${op
170d0 74 69 6f 6e 73 7d 20 2d 2d 75 73 65 72 6e 61 6d  tions} --usernam
170e0 65 20 22 24 7b 45 53 56 4e 5f 55 53 45 52 7d 22  e "${ESVN_USER}"
170f0 20 2d 2d 70 61 73 73 77 6f 72 64 20 22 24 7b 45   --password "${E
17100 53 56 4e 5f 50 41 53 53 57 4f 52 44 7d 22 20 22  SVN_PASSWORD}" "
17110 24 7b 72 65 70 6f 5f 75 72 69 7d 22 20 7c 7c 20  ${repo_uri}" || 
17120 64 69 65 20 22 24 7b 45 53 56 4e 7d 3a 20 63 61  die "${ESVN}: ca
17130 6e 27 74 20 66 65 74 63 68 20 74 6f 20 24 7b 77  n't fetch to ${w
17140 63 5f 70 61 74 68 7d 20 66 72 6f 6d 20 24 7b 72  c_path} from ${r
17150 65 70 6f 5f 75 72 69 7d 2e 22 3b 0a 20 20 20 20  epo_uri}.";.    
17160 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20      else.       
17170 20 20 20 20 20 24 7b 45 53 56 4e 5f 46 45 54 43       ${ESVN_FETC
17180 48 5f 43 4d 44 7d 20 24 7b 6f 70 74 69 6f 6e 73  H_CMD} ${options
17190 7d 20 22 24 7b 72 65 70 6f 5f 75 72 69 7d 22 20  } "${repo_uri}" 
171a0 7c 7c 20 64 69 65 20 22 24 7b 45 53 56 4e 7d 3a  || die "${ESVN}:
171b0 20 63 61 6e 27 74 20 66 65 74 63 68 20 74 6f 20   can't fetch to 
171c0 24 7b 77 63 5f 70 61 74 68 7d 20 66 72 6f 6d 20  ${wc_path} from 
171d0 24 7b 72 65 70 6f 5f 75 72 69 7d 2e 22 3b 0a 20  ${repo_uri}.";. 
171e0 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 65         fi;.    e
171f0 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 5b  lse.        if [
17200 5b 20 2d 6e 20 24 7b 45 53 56 4e 5f 4f 46 46 4c  [ -n ${ESVN_OFFL
17210 49 4e 45 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20  INE} ]]; then.  
17220 20 20 20 20 20 20 20 20 20 20 73 76 6e 20 75 70            svn up
17230 67 72 61 64 65 20 22 24 7b 77 63 5f 70 61 74 68  grade "${wc_path
17240 7d 22 20 3e 26 2f 64 65 76 2f 6e 75 6c 6c 3b 0a  }" >&/dev/null;.
17250 20 20 20 20 20 20 20 20 20 20 20 20 73 76 6e 20              svn 
17260 63 6c 65 61 6e 75 70 20 22 24 7b 77 63 5f 70 61  cleanup "${wc_pa
17270 74 68 7d 22 20 3e 26 2f 64 65 76 2f 6e 75 6c 6c  th}" >&/dev/null
17280 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 75  ;.            su
17290 62 76 65 72 73 69 6f 6e 5f 77 63 5f 69 6e 66 6f  bversion_wc_info
172a0 20 22 24 7b 72 65 70 6f 5f 75 72 69 7d 22 20 7c   "${repo_uri}" |
172b0 7c 20 64 69 65 20 22 24 7b 45 53 56 4e 7d 3a 20  | die "${ESVN}: 
172c0 75 6e 6b 6e 6f 77 6e 20 70 72 6f 62 6c 65 6d 20  unknown problem 
172d0 6f 63 63 75 72 72 65 64 20 77 68 69 6c 65 20 61  occurred while a
172e0 63 63 65 73 73 69 6e 67 20 77 6f 72 6b 69 6e 67  ccessing working
172f0 20 63 6f 70 79 2e 22 3b 0a 20 20 20 20 20 20 20   copy.";.       
17300 20 20 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24 7b       if [[ -n ${
17310 45 53 56 4e 5f 52 45 56 49 53 49 4f 4e 7d 20 26  ESVN_REVISION} &
17320 26 20 24 7b 45 53 56 4e 5f 52 45 56 49 53 49 4f  & ${ESVN_REVISIO
17330 4e 7d 20 21 3d 20 24 7b 45 53 56 4e 5f 57 43 5f  N} != ${ESVN_WC_
17340 52 45 56 49 53 49 4f 4e 7d 20 5d 5d 3b 20 74 68  REVISION} ]]; th
17350 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  en.             
17360 20 20 20 64 69 65 20 22 24 7b 45 53 56 4e 7d 3a     die "${ESVN}:
17370 20 59 6f 75 20 72 65 71 75 65 73 74 65 64 20 6f   You requested o
17380 66 66 2d 6c 69 6e 65 20 75 70 64 61 74 69 6e 67  ff-line updating
17390 20 61 6e 64 20 72 65 76 69 73 69 6f 6e 20 24 7b   and revision ${
173a0 45 53 56 4e 5f 52 45 56 49 53 49 4f 4e 7d 20 62  ESVN_REVISION} b
173b0 75 74 20 6f 6e 6c 79 20 72 65 76 69 73 69 6f 6e  ut only revision
173c0 20 24 7b 45 53 56 4e 5f 57 43 5f 52 45 56 49 53   ${ESVN_WC_REVIS
173d0 49 4f 4e 7d 20 69 73 20 61 76 61 69 6c 61 62 6c  ION} is availabl
173e0 65 20 6c 6f 63 61 6c 6c 79 2e 22 3b 0a 20 20 20  e locally.";.   
173f0 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20           fi;.   
17400 20 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22           einfo "
17410 46 65 74 63 68 69 6e 67 20 64 69 73 61 62 6c 65  Fetching disable
17420 64 3a 20 55 73 69 6e 67 20 65 78 69 73 74 69 6e  d: Using existin
17430 67 20 72 65 70 6f 73 69 74 6f 72 79 20 63 6f 70  g repository cop
17440 79 20 61 74 20 72 65 76 69 73 69 6f 6e 20 24 7b  y at revision ${
17450 45 53 56 4e 5f 57 43 5f 52 45 56 49 53 49 4f 4e  ESVN_WC_REVISION
17460 7d 2e 22 3b 0a 20 20 20 20 20 20 20 20 65 6c 73  }.";.        els
17470 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 76  e.            sv
17480 6e 20 75 70 67 72 61 64 65 20 22 24 7b 77 63 5f  n upgrade "${wc_
17490 70 61 74 68 7d 22 20 3e 26 2f 64 65 76 2f 6e 75  path}" >&/dev/nu
174a0 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ll;.            
174b0 73 76 6e 20 63 6c 65 61 6e 75 70 20 22 24 7b 77  svn cleanup "${w
174c0 63 5f 70 61 74 68 7d 22 20 3e 26 2f 64 65 76 2f  c_path}" >&/dev/
174d0 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20  null;.          
174e0 20 20 73 75 62 76 65 72 73 69 6f 6e 5f 77 63 5f    subversion_wc_
174f0 69 6e 66 6f 20 22 24 7b 72 65 70 6f 5f 75 72 69  info "${repo_uri
17500 7d 22 20 7c 7c 20 64 69 65 20 22 24 7b 45 53 56  }" || die "${ESV
17510 4e 7d 3a 20 75 6e 6b 6e 6f 77 6e 20 70 72 6f 62  N}: unknown prob
17520 6c 65 6d 20 6f 63 63 75 72 72 65 64 20 77 68 69  lem occurred whi
17530 6c 65 20 61 63 63 65 73 73 69 6e 67 20 77 6f 72  le accessing wor
17540 6b 69 6e 67 20 63 6f 70 79 2e 22 3b 0a 20 20 20  king copy.";.   
17550 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 65           local e
17560 73 76 6e 5f 75 70 5f 66 72 65 71 3d 3b 0a 20 20  svn_up_freq=;.  
17570 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20            if [[ 
17580 2d 6e 20 24 7b 45 53 56 4e 5f 55 50 5f 46 52 45  -n ${ESVN_UP_FRE
17590 51 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  Q} ]]; then.    
175a0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b              if [
175b0 5b 20 2d 6e 20 24 7b 45 53 56 4e 5f 55 50 5f 46  [ -n ${ESVN_UP_F
175c0 52 45 51 2f 2f 5b 5b 3a 64 69 67 69 74 3a 5d 5d  REQ//[[:digit:]]
175d0 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  } ]]; then.     
175e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64                 d
175f0 69 65 20 22 24 7b 45 53 56 4e 7d 3a 20 45 53 56  ie "${ESVN}: ESV
17600 4e 5f 55 50 5f 46 52 45 51 20 6d 75 73 74 20 62  N_UP_FREQ must b
17610 65 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c  e an integer val
17620 75 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  ue corresponding
17630 20 74 6f 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20   to the minimum 
17640 6e 75 6d 62 65 72 20 6f 66 20 68 6f 75 72 73 20  number of hours 
17650 62 65 74 77 65 65 6e 20 73 76 6e 20 75 70 2e 22  between svn up."
17660 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
17670 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20    else.         
17680 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b             if [[
17690 20 2d 7a 20 24 28 66 69 6e 64 20 22 24 7b 77 63   -z $(find "${wc
176a0 5f 70 61 74 68 7d 2f 2e 73 76 6e 2f 65 6e 74 72  _path}/.svn/entr
176b0 69 65 73 22 20 2d 6d 6d 69 6e 20 22 2b 24 28 28  ies" -mmin "+$((
176c0 45 53 56 4e 5f 55 50 5f 46 52 45 51 2a 36 30 29  ESVN_UP_FREQ*60)
176d0 29 22 29 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  )") ]]; then.   
176e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
176f0 20 20 20 20 20 65 69 6e 66 6f 20 22 46 65 74 63       einfo "Fetc
17700 68 69 6e 67 20 64 69 73 61 62 6c 65 64 20 73 69  hing disabled si
17710 6e 63 65 20 24 7b 45 53 56 4e 5f 55 50 5f 46 52  nce ${ESVN_UP_FR
17720 45 51 7d 20 68 6f 75 72 73 20 68 61 73 20 6e 6f  EQ} hours has no
17730 74 20 70 61 73 73 65 64 20 73 69 6e 63 65 20 6c  t passed since l
17740 61 73 74 20 75 70 64 61 74 65 2e 22 3b 0a 20 20  ast update.";.  
17750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17760 20 20 20 20 20 20 65 69 6e 66 6f 20 22 55 73 69        einfo "Usi
17770 6e 67 20 65 78 69 73 74 69 6e 67 20 72 65 70 6f  ng existing repo
17780 73 69 74 6f 72 79 20 63 6f 70 79 20 61 74 20 72  sitory copy at r
17790 65 76 69 73 69 6f 6e 20 24 7b 45 53 56 4e 5f 57  evision ${ESVN_W
177a0 43 5f 52 45 56 49 53 49 4f 4e 7d 2e 22 3b 0a 20  C_REVISION}.";. 
177b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
177c0 20 20 20 20 20 20 20 65 73 76 6e 5f 75 70 5f 66         esvn_up_f
177d0 72 65 71 3d 6e 6f 5f 75 70 64 61 74 65 3b 0a 20  req=no_update;. 
177e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
177f0 20 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20     fi;.         
17800 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20         fi;.     
17810 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20         fi;.     
17820 20 20 20 20 20 20 20 69 66 20 5b 5b 20 2d 7a 20         if [[ -z 
17830 24 7b 65 73 76 6e 5f 75 70 5f 66 72 65 71 7d 20  ${esvn_up_freq} 
17840 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  ]]; then.       
17850 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 24           if [[ $
17860 7b 45 53 56 4e 5f 57 43 5f 55 52 4c 7d 20 21 3d  {ESVN_WC_URL} !=
17870 20 24 28 73 75 62 76 65 72 73 69 6f 6e 5f 5f 67   $(subversion__g
17880 65 74 5f 72 65 70 6f 73 69 74 6f 72 79 5f 75 72  et_repository_ur
17890 69 20 22 24 7b 72 65 70 6f 5f 75 72 69 7d 22 29  i "${repo_uri}")
178a0 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20   ]]; then.      
178b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69                ei
178c0 6e 66 6f 20 22 73 75 62 76 65 72 73 69 6f 6e 20  nfo "subversion 
178d0 73 77 69 74 63 68 20 73 74 61 72 74 20 2d 2d 3e  switch start -->
178e0 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ";.             
178f0 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22 20 20         einfo "  
17900 20 20 20 6f 6c 64 20 72 65 70 6f 73 69 74 6f 72     old repositor
17910 79 3a 20 24 7b 45 53 56 4e 5f 57 43 5f 55 52 4c  y: ${ESVN_WC_URL
17920 7d 40 24 7b 45 53 56 4e 5f 57 43 5f 52 45 56 49  }@${ESVN_WC_REVI
17930 53 49 4f 4e 7d 22 3b 0a 20 20 20 20 20 20 20 20  SION}";.        
17940 20 20 20 20 20 20 20 20 20 20 20 20 65 69 6e 66              einf
17950 6f 20 22 20 20 20 20 20 6e 65 77 20 72 65 70 6f  o "     new repo
17960 73 69 74 6f 72 79 3a 20 24 7b 72 65 70 6f 5f 75  sitory: ${repo_u
17970 72 69 7d 24 7b 72 65 76 69 73 69 6f 6e 3a 2b 40  ri}${revision:+@
17980 7d 24 7b 72 65 76 69 73 69 6f 6e 7d 22 3b 0a 20  }${revision}";. 
17990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179a0 20 20 20 64 65 62 75 67 2d 70 72 69 6e 74 20 22     debug-print "
179b0 24 7b 46 55 4e 43 4e 41 4d 45 7d 3a 20 24 7b 45  ${FUNCNAME}: ${E
179c0 53 56 4e 5f 53 57 49 54 43 48 5f 43 4d 44 7d 20  SVN_SWITCH_CMD} 
179d0 24 7b 6f 70 74 69 6f 6e 73 7d 20 24 7b 72 65 70  ${options} ${rep
179e0 6f 5f 75 72 69 7d 22 3b 0a 20 20 20 20 20 20 20  o_uri}";.       
179f0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 64 20               cd 
17a00 22 24 7b 77 63 5f 70 61 74 68 7d 22 20 7c 7c 20  "${wc_path}" || 
17a10 64 69 65 20 22 24 7b 45 53 56 4e 7d 3a 20 63 61  die "${ESVN}: ca
17a20 6e 27 74 20 63 68 64 69 72 20 74 6f 20 24 7b 77  n't chdir to ${w
17a30 63 5f 70 61 74 68 7d 22 3b 0a 20 20 20 20 20 20  c_path}";.      
17a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
17a50 20 5b 5b 20 2d 6e 20 22 24 7b 45 53 56 4e 5f 55   [[ -n "${ESVN_U
17a60 53 45 52 7d 22 20 5d 5d 3b 20 74 68 65 6e 0a 20  SER}" ]]; then. 
17a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a80 20 20 20 20 20 20 20 24 7b 45 53 56 4e 5f 53 57         ${ESVN_SW
17a90 49 54 43 48 5f 43 4d 44 7d 20 24 7b 6f 70 74 69  ITCH_CMD} ${opti
17aa0 6f 6e 73 7d 20 2d 2d 75 73 65 72 6e 61 6d 65 20  ons} --username 
17ab0 22 24 7b 45 53 56 4e 5f 55 53 45 52 7d 22 20 2d  "${ESVN_USER}" -
17ac0 2d 70 61 73 73 77 6f 72 64 20 22 24 7b 45 53 56  -password "${ESV
17ad0 4e 5f 50 41 53 53 57 4f 52 44 7d 22 20 24 7b 72  N_PASSWORD}" ${r
17ae0 65 70 6f 5f 75 72 69 7d 20 7c 7c 20 64 69 65 20  epo_uri} || die 
17af0 22 24 7b 45 53 56 4e 7d 3a 20 63 61 6e 27 74 20  "${ESVN}: can't 
17b00 75 70 64 61 74 65 20 24 7b 77 63 5f 70 61 74 68  update ${wc_path
17b10 7d 20 66 72 6f 6d 20 24 7b 72 65 70 6f 5f 75 72  } from ${repo_ur
17b20 69 7d 2e 22 3b 0a 20 20 20 20 20 20 20 20 20 20  i}.";.          
17b30 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20            else. 
17b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b50 20 20 20 20 20 20 20 24 7b 45 53 56 4e 5f 53 57         ${ESVN_SW
17b60 49 54 43 48 5f 43 4d 44 7d 20 24 7b 6f 70 74 69  ITCH_CMD} ${opti
17b70 6f 6e 73 7d 20 24 7b 72 65 70 6f 5f 75 72 69 7d  ons} ${repo_uri}
17b80 20 7c 7c 20 64 69 65 20 22 24 7b 45 53 56 4e 7d   || die "${ESVN}
17b90 3a 20 63 61 6e 27 74 20 75 70 64 61 74 65 20 24  : can't update $
17ba0 7b 77 63 5f 70 61 74 68 7d 20 66 72 6f 6d 20 24  {wc_path} from $
17bb0 7b 72 65 70 6f 5f 75 72 69 7d 2e 22 3b 0a 20 20  {repo_uri}.";.  
17bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bd0 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20    fi;.          
17be0 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
17bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65                 e
17c00 69 6e 66 6f 20 22 73 75 62 76 65 72 73 69 6f 6e  info "subversion
17c10 20 75 70 64 61 74 65 20 73 74 61 72 74 20 2d 2d   update start --
17c20 3e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  >";.            
17c30 20 20 20 20 20 20 20 20 65 69 6e 66 6f 20 22 20          einfo " 
17c40 20 20 20 20 72 65 70 6f 73 69 74 6f 72 79 3a 20      repository: 
17c50 24 7b 72 65 70 6f 5f 75 72 69 7d 24 7b 72 65 76  ${repo_uri}${rev
17c60 69 73 69 6f 6e 3a 2b 40 7d 24 7b 72 65 76 69 73  ision:+@}${revis
17c70 69 6f 6e 7d 22 3b 0a 20 20 20 20 20 20 20 20 20  ion}";.         
17c80 20 20 20 20 20 20 20 20 20 20 20 64 65 62 75 67             debug
17c90 2d 70 72 69 6e 74 20 22 24 7b 46 55 4e 43 4e 41  -print "${FUNCNA
17ca0 4d 45 7d 3a 20 24 7b 45 53 56 4e 5f 55 50 44 41  ME}: ${ESVN_UPDA
17cb0 54 45 5f 43 4d 44 7d 20 24 7b 6f 70 74 69 6f 6e  TE_CMD} ${option
17cc0 73 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20  s}";.           
17cd0 20 20 20 20 20 20 20 20 20 63 64 20 22 24 7b 77           cd "${w
17ce0 63 5f 70 61 74 68 7d 22 20 7c 7c 20 64 69 65 20  c_path}" || die 
17cf0 22 24 7b 45 53 56 4e 7d 3a 20 63 61 6e 27 74 20  "${ESVN}: can't 
17d00 63 68 64 69 72 20 74 6f 20 24 7b 77 63 5f 70 61  chdir to ${wc_pa
17d10 74 68 7d 22 3b 0a 20 20 20 20 20 20 20 20 20 20  th}";.          
17d20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20            if [[ 
17d30 2d 6e 20 22 24 7b 45 53 56 4e 5f 55 53 45 52 7d  -n "${ESVN_USER}
17d40 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  " ]]; then.     
17d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d60 20 20 20 24 7b 45 53 56 4e 5f 55 50 44 41 54 45     ${ESVN_UPDATE
17d70 5f 43 4d 44 7d 20 24 7b 6f 70 74 69 6f 6e 73 7d  _CMD} ${options}
17d80 20 2d 2d 75 73 65 72 6e 61 6d 65 20 22 24 7b 45   --username "${E
17d90 53 56 4e 5f 55 53 45 52 7d 22 20 2d 2d 70 61 73  SVN_USER}" --pas
17da0 73 77 6f 72 64 20 22 24 7b 45 53 56 4e 5f 50 41  sword "${ESVN_PA
17db0 53 53 57 4f 52 44 7d 22 20 7c 7c 20 64 69 65 20  SSWORD}" || die 
17dc0 22 24 7b 45 53 56 4e 7d 3a 20 63 61 6e 27 74 20  "${ESVN}: can't 
17dd0 75 70 64 61 74 65 20 24 7b 77 63 5f 70 61 74 68  update ${wc_path
17de0 7d 20 66 72 6f 6d 20 24 7b 72 65 70 6f 5f 75 72  } from ${repo_ur
17df0 69 7d 2e 22 3b 0a 20 20 20 20 20 20 20 20 20 20  i}.";.          
17e00 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20            else. 
17e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e20 20 20 20 20 20 20 20 24 7b 45 53 56 4e 5f 55 50         ${ESVN_UP
17e30 44 41 54 45 5f 43 4d 44 7d 20 24 7b 6f 70 74 69  DATE_CMD} ${opti
17e40 6f 6e 73 7d 20 7c 7c 20 64 69 65 20 22 24 7b 45  ons} || die "${E
17e50 53 56 4e 7d 3a 20 63 61 6e 27 74 20 75 70 64 61  SVN}: can't upda
17e60 74 65 20 24 7b 77 63 5f 70 61 74 68 7d 20 66 72  te ${wc_path} fr
17e70 6f 6d 20 24 7b 72 65 70 6f 5f 75 72 69 7d 2e 22  om ${repo_uri}."
17e80 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
17e90 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
17ea0 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20            fi;.  
17eb0 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20            fi;.  
17ec0 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 66 69        fi;.    fi
17ed0 3b 0a 20 20 20 20 65 69 6e 66 6f 20 22 20 20 20  ;.    einfo "   
17ee0 77 6f 72 6b 69 6e 67 20 63 6f 70 79 3a 20 24 7b  working copy: ${
17ef0 77 63 5f 70 61 74 68 7d 22 3b 0a 20 20 20 20 69  wc_path}";.    i
17f00 66 20 21 20 68 61 73 20 22 65 78 70 6f 72 74 22  f ! has "export"
17f10 20 24 7b 45 53 56 4e 5f 52 45 53 54 52 49 43 54   ${ESVN_RESTRICT
17f20 7d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  }; then.        
17f30 63 64 20 22 24 7b 77 63 5f 70 61 74 68 7d 22 20  cd "${wc_path}" 
17f40 7c 7c 20 64 69 65 20 22 24 7b 45 53 56 4e 7d 3a  || die "${ESVN}:
17f50 20 63 61 6e 27 74 20 63 68 64 69 72 20 74 6f 20   can't chdir to 
17f60 24 7b 77 63 5f 70 61 74 68 7d 22 3b 0a 20 20 20  ${wc_path}";.   
17f70 20 20 20 20 20 6c 6f 63 61 6c 20 53 3d 22 24 7b       local S="${
17f80 53 7d 2f 24 7b 53 5f 64 65 73 74 7d 22 3b 0a 20  S}/${S_dest}";. 
17f90 20 20 20 20 20 20 20 6d 6b 64 69 72 20 2d 70 20         mkdir -p 
17fa0 22 24 7b 53 7d 22 3b 0a 20 20 20 20 20 20 20 20  "${S}";.        
17fb0 72 73 79 6e 63 20 2d 72 6c 70 67 6f 20 2d 2d 65  rsync -rlpgo --e
17fc0 78 63 6c 75 64 65 3d 22 2e 73 76 6e 2f 22 20 2e  xclude=".svn/" .
17fd0 20 22 24 7b 53 7d 22 20 7c 7c 20 64 69 65 20 22   "${S}" || die "
17fe0 24 7b 45 53 56 4e 7d 3a 20 63 61 6e 27 74 20 65  ${ESVN}: can't e
17ff0 78 70 6f 72 74 20 74 6f 20 24 7b 53 7d 2e 22 3b  xport to ${S}.";
18000 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 65 63 68  .    fi;.    ech
18010 6f 0a 7d 0a 73 75 62 76 65 72 73 69 6f 6e 5f 70  o.}.subversion_p
18020 6b 67 5f 70 72 65 69 6e 73 74 20 28 29 20 0a 7b  kg_preinst () .{
18030 20 0a 20 20 20 20 6c 6f 63 61 6c 20 70 6b 67 64   .    local pkgd
18040 61 74 65 3d 24 28 64 61 74 65 20 22 2b 25 59 25  ate=$(date "+%Y%
18050 6d 25 64 20 25 48 3a 25 4d 3a 25 53 22 29 3b 0a  m%d %H:%M:%S");.
18060 20 20 20 20 73 75 62 76 65 72 73 69 6f 6e 5f 77      subversion_w
18070 63 5f 69 6e 66 6f 20 22 24 7b 31 3a 2d 24 7b 45  c_info "${1:-${E
18080 53 56 4e 5f 52 45 50 4f 5f 55 52 49 7d 7d 22 3b  SVN_REPO_URI}}";
18090 0a 20 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24 7b  .    if [[ -n ${
180a0 45 53 43 4d 5f 4c 4f 47 44 49 52 7d 20 5d 5d 3b  ESCM_LOGDIR} ]];
180b0 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 6c 6f   then.        lo
180c0 63 61 6c 20 64 69 72 3d 22 24 7b 52 4f 4f 54 7d  cal dir="${ROOT}
180d0 2f 24 7b 45 53 43 4d 5f 4c 4f 47 44 49 52 7d 2f  /${ESCM_LOGDIR}/
180e0 24 7b 43 41 54 45 47 4f 52 59 7d 22 3b 0a 20 20  ${CATEGORY}";.  
180f0 20 20 20 20 20 20 69 66 20 5b 5b 20 21 20 2d 64        if [[ ! -d
18100 20 24 7b 64 69 72 7d 20 5d 5d 3b 20 74 68 65 6e   ${dir} ]]; then
18110 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 6b 64  .            mkd
18120 69 72 20 2d 70 20 22 24 7b 64 69 72 7d 22 20 7c  ir -p "${dir}" |
18130 7c 20 65 65 72 72 6f 72 20 22 46 61 69 6c 65 64  | eerror "Failed
18140 20 74 6f 20 63 72 65 61 74 65 20 27 24 7b 64 69   to create '${di
18150 72 7d 27 20 66 6f 72 20 6c 6f 67 67 69 6e 67 20  r}' for logging 
18160 73 76 6e 20 72 65 76 69 73 69 6f 6e 20 74 6f 20  svn revision to 
18170 27 24 7b 50 4f 52 54 44 49 52 5f 53 43 4d 7d 27  '${PORTDIR_SCM}'
18180 22 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20  ";.        fi;. 
18190 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 6c 6f 67         local log
181a0 6d 65 73 73 61 67 65 3d 22 73 76 6e 3a 20 24 7b  message="svn: ${
181b0 70 6b 67 64 61 74 65 7d 20 2d 20 24 7b 50 46 7d  pkgdate} - ${PF}
181c0 3a 24 7b 53 4c 4f 54 7d 20 77 61 73 20 6d 65 72  :${SLOT} was mer
181d0 67 65 64 20 61 74 20 72 65 76 69 73 69 6f 6e 20  ged at revision 
181e0 24 7b 45 53 56 4e 5f 57 43 5f 52 45 56 49 53 49  ${ESVN_WC_REVISI
181f0 4f 4e 7d 22 3b 0a 20 20 20 20 20 20 20 20 69 66  ON}";.        if
18200 20 5b 5b 20 2d 64 20 24 7b 64 69 72 7d 20 5d 5d   [[ -d ${dir} ]]
18210 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20  ; then.         
18220 20 20 20 65 63 68 6f 20 22 24 7b 6c 6f 67 6d 65     echo "${logme
18230 73 73 61 67 65 7d 22 20 3e 3e 20 22 24 7b 64 69  ssage}" >> "${di
18240 72 7d 2f 24 7b 50 4e 7d 2e 6c 6f 67 22 3b 0a 20  r}/${PN}.log";. 
18250 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20         else.    
18260 20 20 20 20 20 20 20 20 65 65 72 72 6f 72 20 22          eerror "
18270 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 67 20 74 68  Could not log th
18280 65 20 6d 65 73 73 61 67 65 20 27 24 7b 6c 6f 67  e message '${log
18290 6d 65 73 73 61 67 65 7d 27 20 74 6f 20 27 24 7b  message}' to '${
182a0 64 69 72 7d 2f 24 7b 50 4e 7d 2e 6c 6f 67 27 22  dir}/${PN}.log'"
182b0 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20  ;.        fi;.  
182c0 20 20 66 69 0a 7d 0a 73 75 62 76 65 72 73 69 6f    fi.}.subversio
182d0 6e 5f 73 72 63 5f 70 72 65 70 61 72 65 20 28 29  n_src_prepare ()
182e0 20 0a 7b 20 0a 20 20 20 20 73 75 62 76 65 72 73   .{ .    subvers
182f0 69 6f 6e 5f 62 6f 6f 74 73 74 72 61 70 20 7c 7c  ion_bootstrap ||
18300 20 64 69 65 20 22 24 7b 45 53 56 4e 7d 3a 20 75   die "${ESVN}: u
18310 6e 6b 6e 6f 77 6e 20 70 72 6f 62 6c 65 6d 20 6f  nknown problem o
18320 63 63 75 72 72 65 64 20 69 6e 20 73 75 62 76 65  ccurred in subve
18330 72 73 69 6f 6e 5f 62 6f 6f 74 73 74 72 61 70 2e  rsion_bootstrap.
18340 22 0a 7d 0a 73 75 62 76 65 72 73 69 6f 6e 5f 73  ".}.subversion_s
18350 72 63 5f 75 6e 70 61 63 6b 20 28 29 20 0a 7b 20  rc_unpack () .{ 
18360 0a 20 20 20 20 73 75 62 76 65 72 73 69 6f 6e 5f  .    subversion_
18370 66 65 74 63 68 20 7c 7c 20 64 69 65 20 22 24 7b  fetch || die "${
18380 45 53 56 4e 7d 3a 20 75 6e 6b 6e 6f 77 6e 20 70  ESVN}: unknown p
18390 72 6f 62 6c 65 6d 20 6f 63 63 75 72 72 65 64 20  roblem occurred 
183a0 69 6e 20 73 75 62 76 65 72 73 69 6f 6e 5f 66 65  in subversion_fe
183b0 74 63 68 2e 22 3b 0a 20 20 20 20 69 66 20 68 61  tch.";.    if ha
183c0 73 20 22 24 7b 45 41 50 49 3a 2d 30 7d 22 20 30  s "${EAPI:-0}" 0
183d0 20 31 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20   1; then.       
183e0 20 73 75 62 76 65 72 73 69 6f 6e 5f 62 6f 6f 74   subversion_boot
183f0 73 74 72 61 70 20 7c 7c 20 64 69 65 20 22 24 7b  strap || die "${
18400 45 53 56 4e 7d 3a 20 75 6e 6b 6e 6f 77 6e 20 70  ESVN}: unknown p
18410 72 6f 62 6c 65 6d 20 6f 63 63 75 72 72 65 64 20  roblem occurred 
18420 69 6e 20 73 75 62 76 65 72 73 69 6f 6e 5f 62 6f  in subversion_bo
18430 6f 74 73 74 72 61 70 2e 22 3b 0a 20 20 20 20 66  otstrap.";.    f
18440 69 0a 7d 0a 73 75 62 76 65 72 73 69 6f 6e 5f 77  i.}.subversion_w
18450 63 5f 69 6e 66 6f 20 28 29 20 0a 7b 20 0a 20 20  c_info () .{ .  
18460 20 20 6c 6f 63 61 6c 20 72 65 70 6f 5f 75 72 69    local repo_uri
18470 3d 22 24 28 73 75 62 76 65 72 73 69 6f 6e 5f 5f  ="$(subversion__
18480 67 65 74 5f 72 65 70 6f 73 69 74 6f 72 79 5f 75  get_repository_u
18490 72 69 20 22 24 7b 31 3a 2d 24 7b 45 53 56 4e 5f  ri "${1:-${ESVN_
184a0 52 45 50 4f 5f 55 52 49 7d 7d 22 29 22 3b 0a 20  REPO_URI}}")";. 
184b0 20 20 20 6c 6f 63 61 6c 20 77 63 5f 70 61 74 68     local wc_path
184c0 3d 22 24 28 73 75 62 76 65 72 73 69 6f 6e 5f 5f  ="$(subversion__
184d0 67 65 74 5f 77 63 5f 70 61 74 68 20 22 24 7b 72  get_wc_path "${r
184e0 65 70 6f 5f 75 72 69 7d 22 29 22 3b 0a 20 20 20  epo_uri}")";.   
184f0 20 64 65 62 75 67 2d 70 72 69 6e 74 20 22 24 7b   debug-print "${
18500 46 55 4e 43 4e 41 4d 45 7d 3a 20 72 65 70 6f 5f  FUNCNAME}: repo_
18510 75 72 69 20 3d 20 24 7b 72 65 70 6f 5f 75 72 69  uri = ${repo_uri
18520 7d 22 3b 0a 20 20 20 20 64 65 62 75 67 2d 70 72  }";.    debug-pr
18530 69 6e 74 20 22 24 7b 46 55 4e 43 4e 41 4d 45 7d  int "${FUNCNAME}
18540 3a 20 77 63 5f 70 61 74 68 20 3d 20 24 7b 77 63  : wc_path = ${wc
18550 5f 70 61 74 68 7d 22 3b 0a 20 20 20 20 69 66 20  _path}";.    if 
18560 5b 5b 20 21 20 2d 64 20 24 7b 77 63 5f 70 61 74  [[ ! -d ${wc_pat
18570 68 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  h} ]]; then.    
18580 20 20 20 20 72 65 74 75 72 6e 20 31 3b 0a 20 20      return 1;.  
18590 20 20 66 69 3b 0a 20 20 20 20 65 78 70 6f 72 74    fi;.    export
185a0 20 45 53 56 4e 5f 57 43 5f 55 52 4c 3d 22 24 28   ESVN_WC_URL="$(
185b0 73 75 62 76 65 72 73 69 6f 6e 5f 5f 73 76 6e 5f  subversion__svn_
185c0 69 6e 66 6f 20 22 24 7b 77 63 5f 70 61 74 68 7d  info "${wc_path}
185d0 22 20 22 55 52 4c 22 29 22 3b 0a 20 20 20 20 65  " "URL")";.    e
185e0 78 70 6f 72 74 20 45 53 56 4e 5f 57 43 5f 52 4f  xport ESVN_WC_RO
185f0 4f 54 3d 22 24 28 73 75 62 76 65 72 73 69 6f 6e  OT="$(subversion
18600 5f 5f 73 76 6e 5f 69 6e 66 6f 20 22 24 7b 77 63  __svn_info "${wc
18610 5f 70 61 74 68 7d 22 20 22 52 65 70 6f 73 69 74  _path}" "Reposit
18620 6f 72 79 20 52 6f 6f 74 22 29 22 3b 0a 20 20 20  ory Root")";.   
18630 20 65 78 70 6f 72 74 20 45 53 56 4e 5f 57 43 5f   export ESVN_WC_
18640 55 55 49 44 3d 22 24 28 73 75 62 76 65 72 73 69  UUID="$(subversi
18650 6f 6e 5f 5f 73 76 6e 5f 69 6e 66 6f 20 22 24 7b  on__svn_info "${
18660 77 63 5f 70 61 74 68 7d 22 20 22 52 65 70 6f 73  wc_path}" "Repos
18670 69 74 6f 72 79 20 55 55 49 44 22 29 22 3b 0a 20  itory UUID")";. 
18680 20 20 20 65 78 70 6f 72 74 20 45 53 56 4e 5f 57     export ESVN_W
18690 43 5f 52 45 56 49 53 49 4f 4e 3d 22 24 28 73 75  C_REVISION="$(su
186a0 62 76 65 72 73 69 6f 6e 5f 5f 73 76 6e 5f 69 6e  bversion__svn_in
186b0 66 6f 20 22 24 7b 77 63 5f 70 61 74 68 7d 22 20  fo "${wc_path}" 
186c0 22 52 65 76 69 73 69 6f 6e 22 29 22 3b 0a 20 20  "Revision")";.  
186d0 20 20 65 78 70 6f 72 74 20 45 53 56 4e 5f 57 43    export ESVN_WC
186e0 5f 50 41 54 48 3d 22 24 7b 77 63 5f 70 61 74 68  _PATH="${wc_path
186f0 7d 22 0a 7d 0a 74 63 2d 61 72 63 68 20 28 29 20  }".}.tc-arch () 
18700 0a 7b 20 0a 20 20 20 20 74 63 2d 6e 69 6e 6a 61  .{ .    tc-ninja
18710 5f 6d 61 67 69 63 5f 74 6f 5f 61 72 63 68 20 70  _magic_to_arch p
18720 6f 72 74 61 67 65 20 22 24 40 22 0a 7d 0a 74 63  ortage "$@".}.tc
18730 2d 61 72 63 68 2d 6b 65 72 6e 65 6c 20 28 29 20  -arch-kernel () 
18740 0a 7b 20 0a 20 20 20 20 74 63 2d 6e 69 6e 6a 61  .{ .    tc-ninja
18750 5f 6d 61 67 69 63 5f 74 6f 5f 61 72 63 68 20 6b  _magic_to_arch k
18760 65 72 6e 20 22 24 40 22 0a 7d 0a 74 63 2d 65 6e  ern "$@".}.tc-en
18770 64 69 61 6e 20 28 29 20 0a 7b 20 0a 20 20 20 20  dian () .{ .    
18780 6c 6f 63 61 6c 20 68 6f 73 74 3d 24 31 3b 0a 20  local host=$1;. 
18790 20 20 20 5b 5b 20 2d 7a 20 24 7b 68 6f 73 74 7d     [[ -z ${host}
187a0 20 5d 5d 20 26 26 20 68 6f 73 74 3d 24 7b 43 54   ]] && host=${CT
187b0 41 52 47 45 54 3a 2d 24 7b 43 48 4f 53 54 7d 7d  ARGET:-${CHOST}}
187c0 3b 0a 20 20 20 20 68 6f 73 74 3d 24 7b 68 6f 73  ;.    host=${hos
187d0 74 25 25 2d 2a 7d 3b 0a 20 20 20 20 63 61 73 65  t%%-*};.    case
187e0 20 24 7b 68 6f 73 74 7d 20 69 6e 20 0a 20 20 20   ${host} in .   
187f0 20 20 20 20 20 61 6c 70 68 61 2a 29 0a 20 20 20       alpha*).   
18800 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 62 69           echo bi
18810 67 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20  g.        ;;.   
18820 20 20 20 20 20 61 72 6d 2a 62 2a 29 0a 20 20 20       arm*b*).   
18830 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 62 69           echo bi
18840 67 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20  g.        ;;.   
18850 20 20 20 20 20 61 72 6d 2a 29 0a 20 20 20 20 20       arm*).     
18860 20 20 20 20 20 20 20 65 63 68 6f 20 6c 69 74 74         echo litt
18870 6c 65 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20  le.        ;;.  
18880 20 20 20 20 20 20 63 72 69 73 2a 29 0a 20 20 20        cris*).   
18890 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 6c 69           echo li
188a0 74 74 6c 65 0a 20 20 20 20 20 20 20 20 3b 3b 0a  ttle.        ;;.
188b0 20 20 20 20 20 20 20 20 68 70 70 61 2a 29 0a 20          hppa*). 
188c0 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20             echo 
188d0 62 69 67 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20  big.        ;;. 
188e0 20 20 20 20 20 20 20 69 3f 38 36 2a 29 0a 20 20         i?86*).  
188f0 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 6c            echo l
18900 69 74 74 6c 65 0a 20 20 20 20 20 20 20 20 3b 3b  ittle.        ;;
18910 0a 20 20 20 20 20 20 20 20 69 61 36 34 2a 29 0a  .        ia64*).
18920 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f              echo
18930 20 6c 69 74 74 6c 65 0a 20 20 20 20 20 20 20 20   little.        
18940 3b 3b 0a 20 20 20 20 20 20 20 20 6d 36 38 2a 29  ;;.        m68*)
18950 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68  .            ech
18960 6f 20 62 69 67 0a 20 20 20 20 20 20 20 20 3b 3b  o big.        ;;
18970 0a 20 20 20 20 20 20 20 20 6d 69 70 73 2a 6c 2a  .        mips*l*
18980 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63  ).            ec
18990 68 6f 20 6c 69 74 74 6c 65 0a 20 20 20 20 20 20  ho little.      
189a0 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 6d 69 70    ;;.        mip
189b0 73 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  s*).            
189c0 65 63 68 6f 20 62 69 67 0a 20 20 20 20 20 20 20  echo big.       
189d0 20 3b 3b 0a 20 20 20 20 20 20 20 20 70 6f 77 65   ;;.        powe
189e0 72 70 63 2a 29 0a 20 20 20 20 20 20 20 20 20 20  rpc*).          
189f0 20 20 65 63 68 6f 20 62 69 67 0a 20 20 20 20 20    echo big.     
18a00 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 73 33     ;;.        s3
18a10 39 30 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20  90*).           
18a20 20 65 63 68 6f 20 62 69 67 0a 20 20 20 20 20 20   echo big.      
18a30 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 73 68 2a    ;;.        sh*
18a40 62 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  b*).            
18a50 65 63 68 6f 20 62 69 67 0a 20 20 20 20 20 20 20  echo big.       
18a60 20 3b 3b 0a 20 20 20 20 20 20 20 20 73 68 2a 29   ;;.        sh*)
18a70 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68  .            ech
18a80 6f 20 6c 69 74 74 6c 65 0a 20 20 20 20 20 20 20  o little.       
18a90 20 3b 3b 0a 20 20 20 20 20 20 20 20 73 70 61 72   ;;.        spar
18aa0 63 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  c*).            
18ab0 65 63 68 6f 20 62 69 67 0a 20 20 20 20 20 20 20  echo big.       
18ac0 20 3b 3b 0a 20 20 20 20 20 20 20 20 78 38 36 5f   ;;.        x86_
18ad0 36 34 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20  64*).           
18ae0 20 65 63 68 6f 20 6c 69 74 74 6c 65 0a 20 20 20   echo little.   
18af0 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
18b00 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  *).            e
18b10 63 68 6f 20 77 74 66 0a 20 20 20 20 20 20 20 20  cho wtf.        
18b20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 7d 0a 74 63  ;;.    esac.}.tc
18b30 2d 65 78 70 6f 72 74 20 28 29 20 0a 7b 20 0a 20  -export () .{ . 
18b40 20 20 20 6c 6f 63 61 6c 20 76 61 72 3b 0a 20 20     local var;.  
18b50 20 20 66 6f 72 20 76 61 72 20 69 6e 20 22 24 40    for var in "$@
18b60 22 3b 0a 20 20 20 20 64 6f 0a 20 20 20 20 20 20  ";.    do.      
18b70 20 20 5b 5b 20 24 28 74 79 70 65 20 2d 74 20 74    [[ $(type -t t
18b80 63 2d 67 65 74 24 7b 76 61 72 7d 29 20 21 3d 20  c-get${var}) != 
18b90 22 66 75 6e 63 74 69 6f 6e 22 20 5d 5d 20 26 26  "function" ]] &&
18ba0 20 64 69 65 20 22 74 63 2d 65 78 70 6f 72 74 3a   die "tc-export:
18bb0 20 69 6e 76 61 6c 69 64 20 65 78 70 6f 72 74 20   invalid export 
18bc0 76 61 72 69 61 62 6c 65 20 27 24 7b 76 61 72 7d  variable '${var}
18bd0 27 22 3b 0a 20 20 20 20 20 20 20 20 65 76 61 6c  '";.        eval
18be0 20 74 63 2d 67 65 74 24 7b 76 61 72 7d 20 3e 20   tc-get${var} > 
18bf0 2f 64 65 76 2f 6e 75 6c 6c 3b 0a 20 20 20 20 64  /dev/null;.    d
18c00 6f 6e 65 0a 7d 0a 74 63 2d 67 65 74 41 52 20 28  one.}.tc-getAR (
18c10 29 20 0a 7b 20 0a 20 20 20 20 74 63 2d 67 65 74  ) .{ .    tc-get
18c20 50 52 4f 47 20 41 52 20 61 72 20 22 24 40 22 0a  PROG AR ar "$@".
18c30 7d 0a 74 63 2d 67 65 74 41 53 20 28 29 20 0a 7b  }.tc-getAS () .{
18c40 20 0a 20 20 20 20 74 63 2d 67 65 74 50 52 4f 47   .    tc-getPROG
18c50 20 41 53 20 61 73 20 22 24 40 22 0a 7d 0a 74 63   AS as "$@".}.tc
18c60 2d 67 65 74 42 55 49 4c 44 5f 43 43 20 28 29 20  -getBUILD_CC () 
18c70 0a 7b 20 0a 20 20 20 20 6c 6f 63 61 6c 20 76 3b  .{ .    local v;
18c80 0a 20 20 20 20 66 6f 72 20 76 20 69 6e 20 43 43  .    for v in CC
18c90 5f 46 4f 52 5f 42 55 49 4c 44 20 42 55 49 4c 44  _FOR_BUILD BUILD
18ca0 5f 43 43 20 48 4f 53 54 43 43 3b 0a 20 20 20 20  _CC HOSTCC;.    
18cb0 64 6f 0a 20 20 20 20 20 20 20 20 69 66 20 5b 5b  do.        if [[
18cc0 20 2d 6e 20 24 7b 21 76 7d 20 5d 5d 3b 20 74 68   -n ${!v} ]]; th
18cd0 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  en.            e
18ce0 78 70 6f 72 74 20 42 55 49 4c 44 5f 43 43 3d 24  xport BUILD_CC=$
18cf0 7b 21 76 7d 3b 0a 20 20 20 20 20 20 20 20 20 20  {!v};.          
18d00 20 20 65 63 68 6f 20 22 24 7b 21 76 7d 22 3b 0a    echo "${!v}";.
18d10 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75              retu
18d20 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 66 69  rn 0;.        fi
18d30 3b 0a 20 20 20 20 64 6f 6e 65 3b 0a 20 20 20 20  ;.    done;.    
18d40 6c 6f 63 61 6c 20 73 65 61 72 63 68 3d 3b 0a 20  local search=;. 
18d50 20 20 20 69 66 20 5b 5b 20 2d 6e 20 24 7b 43 42     if [[ -n ${CB
18d60 55 49 4c 44 7d 20 5d 5d 3b 20 74 68 65 6e 0a 20  UILD} ]]; then. 
18d70 20 20 20 20 20 20 20 73 65 61 72 63 68 3d 24 28         search=$(
18d80 74 79 70 65 20 2d 70 20 24 7b 43 42 55 49 4c 44  type -p ${CBUILD
18d90 7d 2d 67 63 63 29 3b 0a 20 20 20 20 20 20 20 20  }-gcc);.        
18da0 73 65 61 72 63 68 3d 24 7b 73 65 61 72 63 68 23  search=${search#
18db0 23 2a 2f 7d 3b 0a 20 20 20 20 66 69 3b 0a 20 20  #*/};.    fi;.  
18dc0 20 20 73 65 61 72 63 68 3d 24 7b 73 65 61 72 63    search=${searc
18dd0 68 3a 2d 67 63 63 7d 3b 0a 20 20 20 20 65 78 70  h:-gcc};.    exp
18de0 6f 72 74 20 42 55 49 4c 44 5f 43 43 3d 24 7b 73  ort BUILD_CC=${s
18df0 65 61 72 63 68 7d 3b 0a 20 20 20 20 65 63 68 6f  earch};.    echo
18e00 20 22 24 7b 73 65 61 72 63 68 7d 22 0a 7d 0a 74   "${search}".}.t
18e10 63 2d 67 65 74 43 43 20 28 29 20 0a 7b 20 0a 20  c-getCC () .{ . 
18e20 20 20 20 74 63 2d 67 65 74 50 52 4f 47 20 43 43     tc-getPROG CC
18e30 20 67 63 63 20 22 24 40 22 0a 7d 0a 74 63 2d 67   gcc "$@".}.tc-g
18e40 65 74 43 50 50 20 28 29 20 0a 7b 20 0a 20 20 20  etCPP () .{ .   
18e50 20 74 63 2d 67 65 74 50 52 4f 47 20 43 50 50 20   tc-getPROG CPP 
18e60 63 70 70 20 22 24 40 22 0a 7d 0a 74 63 2d 67 65  cpp "$@".}.tc-ge
18e70 74 43 58 58 20 28 29 20 0a 7b 20 0a 20 20 20 20  tCXX () .{ .    
18e80 74 63 2d 67 65 74 50 52 4f 47 20 43 58 58 20 67  tc-getPROG CXX g
18e90 2b 2b 20 22 24 40 22 0a 7d 0a 74 63 2d 67 65 74  ++ "$@".}.tc-get
18ea0 46 37 37 20 28 29 20 0a 7b 20 0a 20 20 20 20 74  F77 () .{ .    t
18eb0 63 2d 67 65 74 50 52 4f 47 20 46 37 37 20 66 37  c-getPROG F77 f7
18ec0 37 20 22 24 40 22 0a 7d 0a 74 63 2d 67 65 74 46  7 "$@".}.tc-getF
18ed0 43 20 28 29 20 0a 7b 20 0a 20 20 20 20 74 63 2d  C () .{ .    tc-
18ee0 67 65 74 50 52 4f 47 20 46 43 20 67 66 6f 72 74  getPROG FC gfort
18ef0 72 61 6e 20 22 24 40 22 0a 7d 0a 74 63 2d 67 65  ran "$@".}.tc-ge
18f00 74 47 43 4a 20 28 29 20 0a 7b 20 0a 20 20 20 20  tGCJ () .{ .    
18f10 74 63 2d 67 65 74 50 52 4f 47 20 47 43 4a 20 67  tc-getPROG GCJ g
18f20 63 6a 20 22 24 40 22 0a 7d 0a 74 63 2d 67 65 74  cj "$@".}.tc-get
18f30 4c 44 20 28 29 20 0a 7b 20 0a 20 20 20 20 74 63  LD () .{ .    tc
18f40 2d 67 65 74 50 52 4f 47 20 4c 44 20 6c 64 20 22  -getPROG LD ld "
18f50 24 40 22 0a 7d 0a 74 63 2d 67 65 74 4e 4d 20 28  $@".}.tc-getNM (
18f60 29 20 0a 7b 20 0a 20 20 20 20 74 63 2d 67 65 74  ) .{ .    tc-get
18f70 50 52 4f 47 20 4e 4d 20 6e 6d 20 22 24 40 22 0a  PROG NM nm "$@".
18f80 7d 0a 74 63 2d 67 65 74 4f 42 4a 43 4f 50 59 20  }.tc-getOBJCOPY 
18f90 28 29 20 0a 7b 20 0a 20 20 20 20 74 63 2d 67 65  () .{ .    tc-ge
18fa0 74 50 52 4f 47 20 4f 42 4a 43 4f 50 59 20 6f 62  tPROG OBJCOPY ob
18fb0 6a 63 6f 70 79 20 22 24 40 22 0a 7d 0a 74 63 2d  jcopy "$@".}.tc-
18fc0 67 65 74 50 52 4f 47 20 28 29 20 0a 7b 20 0a 20  getPROG () .{ . 
18fd0 20 20 20 6c 6f 63 61 6c 20 76 61 72 3d 24 31 3b     local var=$1;
18fe0 0a 20 20 20 20 6c 6f 63 61 6c 20 70 72 6f 67 3d  .    local prog=
18ff0 24 32 3b 0a 20 20 20 20 69 66 20 5b 5b 20 2d 6e  $2;.    if [[ -n
19000 20 24 7b 21 76 61 72 7d 20 5d 5d 3b 20 74 68 65   ${!var} ]]; the
19010 6e 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 22  n.        echo "
19020 24 7b 21 76 61 72 7d 22 3b 0a 20 20 20 20 20 20  ${!var}";.      
19030 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20    return 0;.    
19040 66 69 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 73 65  fi;.    local se
19050 61 72 63 68 3d 3b 0a 20 20 20 20 5b 5b 20 2d 6e  arch=;.    [[ -n
19060 20 24 33 20 5d 5d 20 26 26 20 73 65 61 72 63 68   $3 ]] && search
19070 3d 24 28 74 79 70 65 20 2d 70 20 22 24 33 2d 24  =$(type -p "$3-$
19080 7b 70 72 6f 67 7d 22 29 3b 0a 20 20 20 20 5b 5b  {prog}");.    [[
19090 20 2d 7a 20 24 7b 73 65 61 72 63 68 7d 20 26 26   -z ${search} &&
190a0 20 2d 6e 20 24 7b 43 48 4f 53 54 7d 20 5d 5d 20   -n ${CHOST} ]] 
190b0 26 26 20 73 65 61 72 63 68 3d 24 28 74 79 70 65  && search=$(type
190c0 20 2d 70 20 22 24 7b 43 48 4f 53 54 7d 2d 24 7b   -p "${CHOST}-${
190d0 70 72 6f 67 7d 22 29 3b 0a 20 20 20 20 5b 5b 20  prog}");.    [[ 
190e0 2d 6e 20 24 7b 73 65 61 72 63 68 7d 20 5d 5d 20  -n ${search} ]] 
190f0 26 26 20 70 72 6f 67 3d 24 7b 73 65 61 72 63 68  && prog=${search
19100 23 23 2a 2f 7d 3b 0a 20 20 20 20 65 78 70 6f 72  ##*/};.    expor
19110 74 20 24 7b 76 61 72 7d 3d 24 7b 70 72 6f 67 7d  t ${var}=${prog}
19120 3b 0a 20 20 20 20 65 63 68 6f 20 22 24 7b 21 76  ;.    echo "${!v
19130 61 72 7d 22 0a 7d 0a 74 63 2d 67 65 74 52 41 4e  ar}".}.tc-getRAN
19140 4c 49 42 20 28 29 20 0a 7b 20 0a 20 20 20 20 74  LIB () .{ .    t
19150 63 2d 67 65 74 50 52 4f 47 20 52 41 4e 4c 49 42  c-getPROG RANLIB
19160 20 72 61 6e 6c 69 62 20 22 24 40 22 0a 7d 0a 74   ranlib "$@".}.t
19170 63 2d 67 65 74 53 54 52 49 50 20 28 29 20 0a 7b  c-getSTRIP () .{
19180 20 0a 20 20 20 20 74 63 2d 67 65 74 50 52 4f 47   .    tc-getPROG
19190 20 53 54 52 49 50 20 73 74 72 69 70 20 22 24 40   STRIP strip "$@
191a0 22 0a 7d 0a 74 63 2d 69 73 2d 63 72 6f 73 73 2d  ".}.tc-is-cross-
191b0 63 6f 6d 70 69 6c 65 72 20 28 29 20 0a 7b 20 0a  compiler () .{ .
191c0 20 20 20 20 72 65 74 75 72 6e 20 24 28 5b 5b 20      return $([[ 
191d0 24 7b 43 42 55 49 4c 44 3a 2d 24 7b 43 48 4f 53  ${CBUILD:-${CHOS
191e0 54 7d 7d 20 21 3d 20 24 7b 43 48 4f 53 54 7d 20  T}} != ${CHOST} 
191f0 5d 5d 29 0a 7d 0a 74 63 2d 69 73 2d 73 6f 66 74  ]]).}.tc-is-soft
19200 66 6c 6f 61 74 20 28 29 20 0a 7b 20 0a 20 20 20  float () .{ .   
19210 20 63 61 73 65 20 24 7b 43 54 41 52 47 45 54 7d   case ${CTARGET}
19220 20 69 6e 20 0a 20 20 20 20 20 20 20 20 62 66 69   in .        bfi
19230 6e 2a 20 7c 20 68 38 33 30 30 2a 29 0a 20 20 20  n* | h8300*).   
19240 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 6f           echo "o
19250 6e 6c 79 22 0a 20 20 20 20 20 20 20 20 3b 3b 0a  nly".        ;;.
19260 20 20 20 20 20 20 20 20 2a 29 0a 20 20 20 20 20          *).     
19270 20 20 20 20 20 20 20 5b 5b 20 24 7b 43 54 41 52         [[ ${CTAR
19280 47 45 54 2f 2f 5f 2f 2d 7d 20 3d 3d 20 2a 2d 73  GET//_/-} == *-s
19290 6f 66 74 66 6c 6f 61 74 2d 2a 20 5d 5d 20 26 26  oftfloat-* ]] &&
192a0 20 65 63 68 6f 20 22 79 65 73 22 20 7c 7c 20 65   echo "yes" || e
192b0 63 68 6f 20 22 6e 6f 22 0a 20 20 20 20 20 20 20  cho "no".       
192c0 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 7d 0a 74   ;;.    esac.}.t
192d0 63 2d 69 73 2d 73 74 61 74 69 63 2d 6f 6e 6c 79  c-is-static-only
192e0 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f 63 61   () .{ .    loca
192f0 6c 20 68 6f 73 74 3d 24 7b 43 54 41 52 47 45 54  l host=${CTARGET
19300 3a 2d 24 7b 43 48 4f 53 54 7d 7d 3b 0a 20 20 20  :-${CHOST}};.   
19310 20 72 65 74 75 72 6e 20 24 28 5b 5b 20 24 7b 68   return $([[ ${h
19320 6f 73 74 7d 20 3d 3d 20 2a 2d 6d 69 6e 74 2a 20  ost} == *-mint* 
19330 5d 5d 29 0a 7d 0a 74 63 2d 6e 69 6e 6a 61 5f 6d  ]]).}.tc-ninja_m
19340 61 67 69 63 5f 74 6f 5f 61 72 63 68 20 28 29 20  agic_to_arch () 
19350 0a 7b 20 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e  .{ .    function
19360 20 6e 69 6e 6a 20 28 29 20 0a 20 20 20 20 7b 20   ninj () .    { 
19370 0a 20 20 20 20 20 20 20 20 5b 5b 20 24 7b 74 79  .        [[ ${ty
19380 70 65 7d 20 3d 3d 20 22 6b 65 72 6e 22 20 5d 5d  pe} == "kern" ]]
19390 20 26 26 20 65 63 68 6f 20 24 31 20 7c 7c 20 65   && echo $1 || e
193a0 63 68 6f 20 24 32 0a 20 20 20 20 7d 3b 0a 20 20  cho $2.    };.  
193b0 20 20 6c 6f 63 61 6c 20 74 79 70 65 3d 24 31 3b    local type=$1;
193c0 0a 20 20 20 20 6c 6f 63 61 6c 20 68 6f 73 74 3d  .    local host=
193d0 24 32 3b 0a 20 20 20 20 5b 5b 20 2d 7a 20 24 7b  $2;.    [[ -z ${
193e0 68 6f 73 74 7d 20 5d 5d 20 26 26 20 68 6f 73 74  host} ]] && host
193f0 3d 24 7b 43 54 41 52 47 45 54 3a 2d 24 7b 43 48  =${CTARGET:-${CH
19400 4f 53 54 7d 7d 3b 0a 20 20 20 20 63 61 73 65 20  OST}};.    case 
19410 24 7b 68 6f 73 74 7d 20 69 6e 20 0a 20 20 20 20  ${host} in .    
19420 20 20 20 20 61 6c 70 68 61 2a 29 0a 20 20 20 20      alpha*).    
19430 20 20 20 20 20 20 20 20 65 63 68 6f 20 61 6c 70          echo alp
19440 68 61 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20  ha.        ;;.  
19450 20 20 20 20 20 20 61 72 6d 2a 29 0a 20 20 20 20        arm*).    
19460 20 20 20 20 20 20 20 20 65 63 68 6f 20 61 72 6d          echo arm
19470 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  .        ;;.    
19480 20 20 20 20 61 76 72 2a 29 0a 20 20 20 20 20 20      avr*).      
19490 20 20 20 20 20 20 6e 69 6e 6a 20 61 76 72 33 32        ninj avr32
194a0 20 61 76 72 0a 20 20 20 20 20 20 20 20 3b 3b 0a   avr.        ;;.
194b0 20 20 20 20 20 20 20 20 62 66 69 6e 2a 29 0a 20          bfin*). 
194c0 20 20 20 20 20 20 20 20 20 20 20 6e 69 6e 6a 20             ninj 
194d0 62 6c 61 63 6b 66 69 6e 20 62 66 69 6e 0a 20 20  blackfin bfin.  
194e0 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
194f0 20 63 72 69 73 2a 29 0a 20 20 20 20 20 20 20 20   cris*).        
19500 20 20 20 20 65 63 68 6f 20 63 72 69 73 0a 20 20      echo cris.  
19510 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
19520 20 68 70 70 61 2a 29 0a 20 20 20 20 20 20 20 20   hppa*).        
19530 20 20 20 20 6e 69 6e 6a 20 70 61 72 69 73 63 20      ninj parisc 
19540 68 70 70 61 0a 20 20 20 20 20 20 20 20 3b 3b 0a  hppa.        ;;.
19550 20 20 20 20 20 20 20 20 69 3f 38 36 2a 29 0a 20          i?86*). 
19560 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b             if [[
19570 20 24 7b 74 79 70 65 7d 20 3d 3d 20 22 6b 65 72   ${type} == "ker
19580 6e 22 20 5d 5d 20 26 26 20 5b 5b 20 24 28 4b 56  n" ]] && [[ $(KV
19590 5f 74 6f 5f 69 6e 74 20 24 7b 4b 56 7d 29 20 2d  _to_int ${KV}) -
195a0 6c 74 20 24 28 4b 56 5f 74 6f 5f 69 6e 74 20 32  lt $(KV_to_int 2
195b0 2e 36 2e 32 34 29 20 7c 7c 20 24 7b 68 6f 73 74  .6.24) || ${host
195c0 7d 20 3d 3d 20 2a 66 72 65 65 62 73 64 2a 20 5d  } == *freebsd* ]
195d0 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  ]; then.        
195e0 20 20 20 20 20 20 20 20 65 63 68 6f 20 69 33 38          echo i38
195f0 36 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  6;.            e
19600 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  lse.            
19610 20 20 20 20 65 63 68 6f 20 78 38 36 3b 0a 20 20      echo x86;.  
19620 20 20 20 20 20 20 20 20 20 20 66 69 0a 20 20 20            fi.   
19630 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
19640 69 61 36 34 2a 29 0a 20 20 20 20 20 20 20 20 20  ia64*).         
19650 20 20 20 65 63 68 6f 20 69 61 36 34 0a 20 20 20     echo ia64.   
19660 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
19670 6d 36 38 2a 29 0a 20 20 20 20 20 20 20 20 20 20  m68*).          
19680 20 20 65 63 68 6f 20 6d 36 38 6b 0a 20 20 20 20    echo m68k.    
19690 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 6d      ;;.        m
196a0 69 70 73 2a 29 0a 20 20 20 20 20 20 20 20 20 20  ips*).          
196b0 20 20 65 63 68 6f 20 6d 69 70 73 0a 20 20 20 20    echo mips.    
196c0 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 6e      ;;.        n
196d0 69 6f 73 32 2a 29 0a 20 20 20 20 20 20 20 20 20  ios2*).         
196e0 20 20 20 65 63 68 6f 20 6e 69 6f 73 32 0a 20 20     echo nios2.  
196f0 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
19700 20 6e 69 6f 73 2a 29 0a 20 20 20 20 20 20 20 20   nios*).        
19710 20 20 20 20 65 63 68 6f 20 6e 69 6f 73 0a 20 20      echo nios.  
19720 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
19730 20 70 6f 77 65 72 70 63 2a 29 0a 20 20 20 20 20   powerpc*).     
19740 20 20 20 20 20 20 20 69 66 20 5b 5b 20 24 28 4b         if [[ $(K
19750 56 5f 74 6f 5f 69 6e 74 20 24 7b 4b 56 7d 29 20  V_to_int ${KV}) 
19760 2d 67 65 20 24 28 4b 56 5f 74 6f 5f 69 6e 74 20  -ge $(KV_to_int 
19770 32 2e 36 2e 31 36 29 20 5d 5d 20 26 26 20 5b 5b  2.6.16) ]] && [[
19780 20 24 7b 74 79 70 65 7d 20 3d 3d 20 22 6b 65 72   ${type} == "ker
19790 6e 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20  n" ]]; then.    
197a0 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f              echo
197b0 20 70 6f 77 65 72 70 63 3b 0a 20 20 20 20 20 20   powerpc;.      
197c0 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
197d0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b             if [[
197e0 20 24 28 4b 56 5f 74 6f 5f 69 6e 74 20 24 7b 4b   $(KV_to_int ${K
197f0 56 7d 29 20 2d 65 71 20 24 28 4b 56 5f 74 6f 5f  V}) -eq $(KV_to_
19800 69 6e 74 20 32 2e 36 2e 31 35 29 20 5d 5d 20 26  int 2.6.15) ]] &
19810 26 20 5b 5b 20 24 7b 74 79 70 65 7d 20 3d 3d 20  & [[ ${type} == 
19820 22 6b 65 72 6e 22 20 5d 5d 3b 20 74 68 65 6e 0a  "kern" ]]; then.
19830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19840 20 20 20 20 69 66 20 5b 5b 20 24 7b 68 6f 73 74      if [[ ${host
19850 7d 20 3d 3d 20 70 6f 77 65 72 70 63 36 34 2a 20  } == powerpc64* 
19860 5d 5d 20 7c 7c 20 5b 5b 20 24 7b 50 52 4f 46 49  ]] || [[ ${PROFI
19870 4c 45 5f 41 52 43 48 7d 20 3d 3d 20 22 70 70 63  LE_ARCH} == "ppc
19880 36 34 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  64" ]]; then.   
19890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198a0 20 20 20 20 20 65 63 68 6f 20 70 6f 77 65 72 70       echo powerp
198b0 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  c;.             
198c0 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20         else.    
198d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198e0 20 20 20 20 65 63 68 6f 20 70 70 63 3b 0a 20 20      echo ppc;.  
198f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19900 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20    fi;.          
19910 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20        else.     
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
19930 66 20 5b 5b 20 24 7b 68 6f 73 74 7d 20 3d 3d 20  f [[ ${host} == 
19940 70 6f 77 65 72 70 63 36 34 2a 20 5d 5d 3b 20 74  powerpc64* ]]; t
19950 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20  hen.            
19960 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f              echo
19970 20 70 70 63 36 34 3b 0a 20 20 20 20 20 20 20 20   ppc64;.        
19980 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65              else
19990 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
199a0 20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 24           if [[ $
199b0 7b 50 52 4f 46 49 4c 45 5f 41 52 43 48 7d 20 3d  {PROFILE_ARCH} =
199c0 3d 20 22 70 70 63 36 34 22 20 5d 5d 3b 20 74 68  = "ppc64" ]]; th
199d0 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  en.             
199e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e                 n
199f0 69 6e 6a 20 70 70 63 36 34 20 70 70 63 3b 0a 20  inj ppc64 ppc;. 
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a10 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20         else.    
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a30 20 20 20 20 20 20 20 20 65 63 68 6f 20 70 70 63          echo ppc
19a40 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
19a50 20 20 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20            fi;.  
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a70 20 20 66 69 3b 0a 20 20 20 20 20 20 20 20 20 20    fi;.          
19a80 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 20 20        fi;.      
19a90 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 20        fi.       
19aa0 20 3b 3b 0a 20 20 20 20 20 20 20 20 73 33 39 30   ;;.        s390
19ab0 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  *).            e
19ac0 63 68 6f 20 73 33 39 30 0a 20 20 20 20 20 20 20  cho s390.       
19ad0 20 3b 3b 0a 20 20 20 20 20 20 20 20 73 68 36 34   ;;.        sh64
19ae0 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e  *).            n
19af0 69 6e 6a 20 73 68 36 34 20 73 68 0a 20 20 20 20  inj sh64 sh.    
19b00 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 73      ;;.        s
19b10 68 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  h*).            
19b20 65 63 68 6f 20 73 68 0a 20 20 20 20 20 20 20 20  echo sh.        
19b30 3b 3b 0a 20 20 20 20 20 20 20 20 73 70 61 72 63  ;;.        sparc
19b40 36 34 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20  64*).           
19b50 20 6e 69 6e 6a 20 73 70 61 72 63 36 34 20 73 70   ninj sparc64 sp
19b60 61 72 63 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20  arc.        ;;. 
19b70 20 20 20 20 20 20 20 73 70 61 72 63 2a 29 0a 20         sparc*). 
19b80 20 20 20 20 20 20 20 20 20 20 20 5b 5b 20 24 7b             [[ ${
19b90 50 52 4f 46 49 4c 45 5f 41 52 43 48 7d 20 3d 3d  PROFILE_ARCH} ==
19ba0 20 22 73 70 61 72 63 36 34 22 20 5d 5d 20 26 26   "sparc64" ]] &&
19bb0 20 6e 69 6e 6a 20 73 70 61 72 63 36 34 20 73 70   ninj sparc64 sp
19bc0 61 72 63 20 7c 7c 20 65 63 68 6f 20 73 70 61 72  arc || echo spar
19bd0 63 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20  c.        ;;.   
19be0 20 20 20 20 20 76 61 78 2a 29 0a 20 20 20 20 20       vax*).     
19bf0 20 20 20 20 20 20 20 65 63 68 6f 20 76 61 78 0a         echo vax.
19c00 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20          ;;.     
19c10 20 20 20 78 38 36 5f 36 34 2a 29 0a 20 20 20 20     x86_64*).    
19c20 20 20 20 20 20 20 20 20 69 66 20 5b 5b 20 24 7b          if [[ ${
19c30 74 79 70 65 7d 20 3d 3d 20 22 6b 65 72 6e 22 20  type} == "kern" 
19c40 5d 5d 20 26 26 20 5b 5b 20 24 28 4b 56 5f 74 6f  ]] && [[ $(KV_to
19c50 5f 69 6e 74 20 24 7b 4b 56 7d 29 20 2d 67 65 20  _int ${KV}) -ge 
19c60 24 28 4b 56 5f 74 6f 5f 69 6e 74 20 32 2e 36 2e  $(KV_to_int 2.6.
19c70 32 34 29 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20  24) ]]; then.   
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68               ech
19c90 6f 20 78 38 36 3b 0a 20 20 20 20 20 20 20 20 20  o x86;.         
19ca0 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20     else.        
19cb0 20 20 20 20 20 20 20 20 6e 69 6e 6a 20 78 38 36          ninj x86
19cc0 5f 36 34 20 61 6d 64 36 34 3b 0a 20 20 20 20 20  _64 amd64;.     
19cd0 20 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20         fi.      
19ce0 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 2a 29 0a    ;;.        *).
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f              echo
19d00 20 75 6e 6b 6e 6f 77 6e 0a 20 20 20 20 20 20 20   unknown.       
19d10 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 7d 0a 74   ;;.    esac.}.t
19d20 72 65 65 63 6f 70 79 20 28 29 20 0a 7b 20 0a 20  reecopy () .{ . 
19d30 20 20 20 64 65 73 74 3d 24 7b 21 23 7d 3b 0a 20     dest=${!#};. 
19d40 20 20 20 66 69 6c 65 73 5f 63 6f 75 6e 74 3d 24     files_count=$
19d50 23 3b 0a 20 20 20 20 77 68 69 6c 65 20 28 28 20  #;.    while (( 
19d60 24 23 20 3e 20 31 20 29 29 3b 20 64 6f 0a 20 20  $# > 1 )); do.  
19d70 20 20 20 20 20 20 64 69 72 73 74 72 75 63 74 3d        dirstruct=
19d80 24 28 64 69 72 6e 61 6d 65 20 22 24 31 22 29 3b  $(dirname "$1");
19d90 0a 20 20 20 20 20 20 20 20 6d 6b 64 69 72 20 2d  .        mkdir -
19da0 70 20 22 24 7b 64 65 73 74 7d 2f 24 7b 64 69 72  p "${dest}/${dir
19db0 73 74 72 75 63 74 7d 22 3b 0a 20 20 20 20 20 20  struct}";.      
19dc0 20 20 63 70 20 2d 70 50 52 20 22 24 31 22 20 22    cp -pPR "$1" "
19dd0 24 7b 64 65 73 74 7d 2f 24 7b 64 69 72 73 74 72  ${dest}/${dirstr
19de0 75 63 74 7d 22 3b 0a 20 20 20 20 20 20 20 20 73  uct}";.        s
19df0 68 69 66 74 3b 0a 20 20 20 20 64 6f 6e 65 0a 7d  hift;.    done.}
19e00 0a 75 63 6c 69 62 63 74 6f 6f 6c 69 7a 65 20 28  .uclibctoolize (
19e10 29 20 0a 7b 20 0a 20 20 20 20 65 77 61 72 6e 20  ) .{ .    ewarn 
19e20 22 75 63 6c 69 62 63 74 6f 6f 6c 69 7a 65 28 29  "uclibctoolize()
19e30 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20   is deprecated, 
19e40 70 6c 65 61 73 65 20 6a 75 73 74 20 75 73 65 20  please just use 
19e50 65 6c 69 62 74 6f 6f 6c 69 7a 65 28 29 21 22 3b  elibtoolize()!";
19e60 0a 20 20 20 20 65 6c 69 62 74 6f 6f 6c 69 7a 65  .    elibtoolize
19e70 0a 7d 0a 75 6e 70 61 63 6b 5f 6d 61 6b 65 73 65  .}.unpack_makese
19e80 6c 66 20 28 29 20 0a 7b 20 0a 20 20 20 20 6c 6f  lf () .{ .    lo
19e90 63 61 6c 20 73 72 63 5f 69 6e 70 75 74 3d 24 7b  cal src_input=${
19ea0 31 3a 2d 24 7b 41 7d 7d 3b 0a 20 20 20 20 6c 6f  1:-${A}};.    lo
19eb0 63 61 6c 20 73 72 63 3d 24 28 66 69 6e 64 5f 75  cal src=$(find_u
19ec0 6e 70 61 63 6b 61 62 6c 65 5f 66 69 6c 65 20 22  npackable_file "
19ed0 24 7b 73 72 63 5f 69 6e 70 75 74 7d 22 29 3b 0a  ${src_input}");.
19ee0 20 20 20 20 6c 6f 63 61 6c 20 73 6b 69 70 3d 24      local skip=$
19ef0 32 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 65 78 65  2;.    local exe
19f00 3d 24 33 3b 0a 20 20 20 20 5b 5b 20 2d 7a 20 24  =$3;.    [[ -z $
19f10 7b 73 72 63 7d 20 5d 5d 20 26 26 20 64 69 65 20  {src} ]] && die 
19f20 22 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 63 61 74  "Could not locat
19f30 65 20 73 6f 75 72 63 65 20 66 6f 72 20 27 24 7b  e source for '${
19f40 73 72 63 5f 69 6e 70 75 74 7d 27 22 3b 0a 20 20  src_input}'";.  
19f50 20 20 6c 6f 63 61 6c 20 73 68 72 74 73 72 63 3d    local shrtsrc=
19f60 24 28 62 61 73 65 6e 61 6d 65 20 22 24 7b 73 72  $(basename "${sr
19f70 63 7d 22 29 3b 0a 20 20 20 20 65 63 68 6f 20 22  c}");.    echo "
19f80 3e 3e 3e 20 55 6e 70 61 63 6b 69 6e 67 20 24 7b  >>> Unpacking ${
19f90 73 68 72 74 73 72 63 7d 20 74 6f 20 24 7b 50 57  shrtsrc} to ${PW
19fa0 44 7d 22 3b 0a 20 20 20 20 69 66 20 5b 5b 20 2d  D}";.    if [[ -
19fb0 7a 20 24 7b 73 6b 69 70 7d 20 5d 5d 3b 20 74 68  z ${skip} ]]; th
19fc0 65 6e 0a 20 20 20 20 20 20 20 20 6c 6f 63 61 6c  en.        local
19fd0 20 76 65 72 3d 24 28 67 72 65 70 20 2d 61 20 27   ver=$(grep -a '
19fe0 23 2e 2a 4d 61 6b 65 73 65 6c 66 27 20 22 24 7b  #.*Makeself' "${
19ff0 73 72 63 7d 22 20 7c 20 61 77 6b 20 27 7b 70 72  src}" | awk '{pr
1a000 69 6e 74 20 24 4e 46 7d 27 29 3b 0a 20 20 20 20  int $NF}');.    
1a010 20 20 20 20 6c 6f 63 61 6c 20 73 6b 69 70 3d 30      local skip=0
1a020 3b 0a 20 20 20 20 20 20 20 20 65 78 65 3d 74 61  ;.        exe=ta
1a030 69 6c 3b 0a 20 20 20 20 20 20 20 20 63 61 73 65  il;.        case
1a040 20 24 7b 76 65 72 7d 20 69 6e 20 0a 20 20 20 20   ${ver} in .    
1a050 20 20 20 20 20 20 20 20 31 2e 35 2e 2a 20 7c 20          1.5.* | 
1a060 31 2e 36 2e 30 2d 6e 76 29 0a 20 20 20 20 20 20  1.6.0-nv).      
1a070 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3d 24            skip=$
1a080 28 67 72 65 70 20 2d 61 20 5e 73 6b 69 70 3d 20  (grep -a ^skip= 
1a090 22 24 7b 73 72 63 7d 22 20 7c 20 63 75 74 20 2d  "${src}" | cut -
1a0a0 64 3d 20 2d 66 32 29 0a 20 20 20 20 20 20 20 20  d= -f2).        
1a0b0 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20      ;;.         
1a0c0 20 20 20 32 2e 30 20 7c 20 32 2e 30 2e 31 29 0a     2.0 | 2.0.1).
1a0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0e0 73 6b 69 70 3d 24 28 67 72 65 70 20 2d 61 20 5e  skip=$(grep -a ^
1a0f0 27 09 27 74 61 69 6c 20 22 24 7b 73 72 63 7d 22  '.'tail "${src}"
1a100 20 7c 20 61 77 6b 20 27 7b 70 72 69 6e 74 20 24   | awk '{print $
1a110 32 7d 27 20 7c 20 63 75 74 20 2d 62 32 2d 29 0a  2}' | cut -b2-).
1a120 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20              ;;. 
1a130 20 20 20 20 20 20 20 20 20 20 20 32 2e 31 2e 31             2.1.1
1a140 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
1a150 20 20 73 6b 69 70 3d 24 28 67 72 65 70 20 2d 61    skip=$(grep -a
1a160 20 5e 6f 66 66 73 65 74 3d 20 22 24 7b 73 72 63   ^offset= "${src
1a170 7d 22 20 7c 20 61 77 6b 20 27 7b 70 72 69 6e 74  }" | awk '{print
1a180 20 24 32 7d 27 20 7c 20 63 75 74 20 2d 62 32 2d   $2}' | cut -b2-
1a190 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
1a1a0 20 20 20 6c 65 74 20 73 6b 69 70 3d 22 73 6b 69     let skip="ski
1a1b0 70 20 2b 20 31 22 0a 20 20 20 20 20 20 20 20 20  p + 1".         
1a1c0 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20     ;;.          
1a1d0 20 20 32 2e 31 2e 32 29 0a 20 20 20 20 20 20 20    2.1.2).       
1a1e0 20 20 20 20 20 20 20 20 20 73 6b 69 70 3d 24 28           skip=$(
1a1f0 67 72 65 70 20 2d 61 20 5e 6f 66 66 73 65 74 3d  grep -a ^offset=
1a200 20 22 24 7b 73 72 63 7d 22 20 7c 20 61 77 6b 20   "${src}" | awk 
1a210 27 7b 70 72 69 6e 74 20 24 33 7d 27 20 7c 20 68  '{print $3}' | h
1a220 65 61 64 20 2d 6e 20 31 29 3b 0a 20 20 20 20 20  ead -n 1);.     
1a230 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 73             let s
1a240 6b 69 70 3d 22 73 6b 69 70 20 2b 20 31 22 0a 20  kip="skip + 1". 
1a250 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20             ;;.  
1a260 20 20 20 20 20 20 20 20 20 20 32 2e 31 2e 33 29            2.1.3)
1a270 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1a280 20 73 6b 69 70 3d 60 67 72 65 70 20 2d 61 20 5e   skip=`grep -a ^
1a290 6f 66 66 73 65 74 3d 20 22 24 7b 73 72 63 7d 22  offset= "${src}"
1a2a0 20 7c 20 61 77 6b 20 27 7b 70 72 69 6e 74 20 24   | awk '{print $
1a2b0 33 7d 27 60 3b 0a 20 20 20 20 20 20 20 20 20 20  3}'`;.          
1a2c0 20 20 20 20 20 20 6c 65 74 20 73 6b 69 70 3d 22        let skip="
1a2d0 73 6b 69 70 20 2b 20 31 22 0a 20 20 20 20 20 20  skip + 1".      
1a2e0 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
1a2f0 20 20 20 20 20 32 2e 31 2e 34 20 7c 20 32 2e 31       2.1.4 | 2.1
1a300 2e 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  .5).            
1a310 20 20 20 20 73 6b 69 70 3d 24 28 67 72 65 70 20      skip=$(grep 
1a320 2d 61 20 6f 66 66 73 65 74 3d 2e 2a 68 65 61 64  -a offset=.*head
1a330 2e 2a 77 63 20 22 24 7b 73 72 63 7d 22 20 7c 20  .*wc "${src}" | 
1a340 61 77 6b 20 27 7b 70 72 69 6e 74 20 24 33 7d 27  awk '{print $3}'
1a350 20 7c 20 68 65 61 64 20 2d 6e 20 31 29 3b 0a 20   | head -n 1);. 
1a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73                 s
1a370 6b 69 70 3d 24 28 68 65 61 64 20 2d 6e 20 24 7b  kip=$(head -n ${
1a380 73 6b 69 70 7d 20 22 24 7b 73 72 63 7d 22 20 7c  skip} "${src}" |
1a390 20 77 63 20 2d 63 29 3b 0a 20 20 20 20 20 20 20   wc -c);.       
1a3a0 20 20 20 20 20 20 20 20 20 65 78 65 3d 22 64 64           exe="dd
1a3b0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b  ".            ;;
1a3c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 29 0a  .            *).
1a3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3e0 65 65 72 72 6f 72 20 22 49 27 6d 20 73 6f 72 72  eerror "I'm sorr
1a3f0 79 2c 20 62 75 74 20 49 20 77 61 73 20 75 6e 61  y, but I was una
1a400 62 6c 65 20 74 6f 20 73 75 70 70 6f 72 74 20 74  ble to support t
1a410 68 65 20 4d 61 6b 65 73 65 6c 66 20 66 69 6c 65  he Makeself file
1a420 2e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  .";.            
1a430 20 20 20 20 65 65 72 72 6f 72 20 22 54 68 65 20      eerror "The 
1a440 76 65 72 73 69 6f 6e 20 49 20 64 65 74 65 63 74  version I detect
1a450 65 64 20 77 61 73 20 27 24 7b 76 65 72 7d 27 2e  ed was '${ver}'.
1a460 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ";.             
1a470 20 20 20 65 65 72 72 6f 72 20 22 50 6c 65 61 73     eerror "Pleas
1a480 65 20 66 69 6c 65 20 61 20 62 75 67 20 61 62 6f  e file a bug abo
1a490 75 74 20 74 68 65 20 66 69 6c 65 20 24 7b 73 68  ut the file ${sh
1a4a0 72 74 73 72 63 7d 20 61 74 22 3b 0a 20 20 20 20  rtsrc} at";.    
1a4b0 20 20 20 20 20 20 20 20 20 20 20 20 65 65 72 72              eerr
1a4c0 6f 72 20 22 68 74 74 70 3a 2f 2f 62 75 67 73 2e  or "http://bugs.
1a4d0 67 65 6e 74 6f 6f 2e 6f 72 67 2f 20 73 6f 20 74  gentoo.org/ so t
1a4e0 68 61 74 20 73 75 70 70 6f 72 74 20 63 61 6e 20  hat support can 
1a4f0 62 65 20 61 64 64 65 64 2e 22 3b 0a 20 20 20 20  be added.";.    
1a500 20 20 20 20 20 20 20 20 20 20 20 20 64 69 65 20              die 
1a510 22 6d 61 6b 65 73 65 6c 66 20 76 65 72 73 69 6f  "makeself versio
1a520 6e 20 27 24 7b 76 65 72 7d 27 20 6e 6f 74 20 73  n '${ver}' not s
1a530 75 70 70 6f 72 74 65 64 22 0a 20 20 20 20 20 20  upported".      
1a540 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20        ;;.       
1a550 20 65 73 61 63 3b 0a 20 20 20 20 20 20 20 20 64   esac;.        d
1a560 65 62 75 67 2d 70 72 69 6e 74 20 22 44 65 74 65  ebug-print "Dete
1a570 63 74 65 64 20 4d 61 6b 65 73 65 6c 66 20 76 65  cted Makeself ve
1a580 72 73 69 6f 6e 20 24 7b 76 65 72 7d 20 2e 2e 2e  rsion ${ver} ...
1a590 20 75 73 69 6e 67 20 24 7b 73 6b 69 70 7d 20 61   using ${skip} a
1a5a0 73 20 6f 66 66 73 65 74 22 3b 0a 20 20 20 20 66  s offset";.    f
1a5b0 69 3b 0a 20 20 20 20 63 61 73 65 20 24 7b 65 78  i;.    case ${ex
1a5c0 65 7d 20 69 6e 20 0a 20 20 20 20 20 20 20 20 74  e} in .        t
1a5d0 61 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20  ail).           
1a5e0 20 65 78 65 3d 22 74 61 69 6c 20 2d 6e 20 2b 24   exe="tail -n +$
1a5f0 7b 73 6b 69 70 7d 20 27 24 7b 73 72 63 7d 27 22  {skip} '${src}'"
1a600 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  .        ;;.    
1a610 20 20 20 20 64 64 29 0a 20 20 20 20 20 20 20 20      dd).        
1a620 20 20 20 20 65 78 65 3d 22 64 64 20 69 62 73 3d      exe="dd ibs=
1a630 24 7b 73 6b 69 70 7d 20 73 6b 69 70 3d 31 20 6f  ${skip} skip=1 o
1a640 62 73 3d 31 30 32 34 20 63 6f 6e 76 3d 73 79 6e  bs=1024 conv=syn
1a650 63 20 69 66 3d 27 24 7b 73 72 63 7d 27 22 0a 20  c if='${src}'". 
1a660 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20         ;;.      
1a670 20 20 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20    *).           
1a680 20 64 69 65 20 22 6d 61 6b 65 73 65 6c 66 20 63   die "makeself c
1a690 61 6e 74 20 68 61 6e 64 6c 65 20 65 78 65 20 27  ant handle exe '
1a6a0 24 7b 65 78 65 7d 27 22 0a 20 20 20 20 20 20 20  ${exe}'".       
1a6b0 20 3b 3b 0a 20 20 20 20 65 73 61 63 3b 0a 20 20   ;;.    esac;.  
1a6c0 20 20 6c 6f 63 61 6c 20 74 6d 70 66 69 6c 65 3d    local tmpfile=
1a6d0 24 28 65 6d 6b 74 65 6d 70 29 3b 0a 20 20 20 20  $(emktemp);.    
1a6e0 65 76 61 6c 20 24 7b 65 78 65 7d 20 32 3e 20 2f  eval ${exe} 2> /
1a6f0 64 65 76 2f 6e 75 6c 6c 20 7c 20 68 65 61 64 20  dev/null | head 
1a700 2d 63 20 35 31 32 20 3e 20 22 24 7b 74 6d 70 66  -c 512 > "${tmpf
1a710 69 6c 65 7d 22 3b 0a 20 20 20 20 6c 6f 63 61 6c  ile}";.    local
1a720 20 66 69 6c 65 74 79 70 65 3d 24 28 66 69 6c 65   filetype=$(file
1a730 20 2d 62 20 22 24 7b 74 6d 70 66 69 6c 65 7d 22   -b "${tmpfile}"
1a740 29 3b 0a 20 20 20 20 63 61 73 65 20 24 7b 66 69  );.    case ${fi
1a750 6c 65 74 79 70 65 7d 20 69 6e 20 0a 20 20 20 20  letype} in .    
1a760 20 20 20 20 2a 74 61 72 5c 20 61 72 63 68 69 76      *tar\ archiv
1a770 65 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  e*).            
1a780 65 76 61 6c 20 24 7b 65 78 65 7d 20 7c 20 74 61  eval ${exe} | ta
1a790 72 20 2d 2d 6e 6f 2d 73 61 6d 65 2d 6f 77 6e 65  r --no-same-owne
1a7a0 72 20 2d 78 66 20 2d 0a 20 20 20 20 20 20 20 20  r -xf -.        
1a7b0 3b 3b 0a 20 20 20 20 20 20 20 20 62 7a 69 70 32  ;;.        bzip2
1a7c0 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  *).            e
1a7d0 76 61 6c 20 24 7b 65 78 65 7d 20 7c 20 62 7a 69  val ${exe} | bzi
1a7e0 70 32 20 2d 64 63 20 7c 20 74 61 72 20 2d 2d 6e  p2 -dc | tar --n
1a7f0 6f 2d 73 61 6d 65 2d 6f 77 6e 65 72 20 2d 78 66  o-same-owner -xf
1a800 20 2d 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20   -.        ;;.  
1a810 20 20 20 20 20 20 67 7a 69 70 2a 29 0a 20 20 20        gzip*).   
1a820 20 20 20 20 20 20 20 20 20 65 76 61 6c 20 24 7b           eval ${
1a830 65 78 65 7d 20 7c 20 74 61 72 20 2d 2d 6e 6f 2d  exe} | tar --no-
1a840 73 61 6d 65 2d 6f 77 6e 65 72 20 2d 78 7a 66 20  same-owner -xzf 
1a850 2d 0a 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20  -.        ;;.   
1a860 20 20 20 20 20 63 6f 6d 70 72 65 73 73 2a 29 0a       compress*).
1a870 20 20 20 20 20 20 20 20 20 20 20 20 65 76 61 6c              eval
1a880 20 24 7b 65 78 65 7d 20 7c 20 67 75 6e 7a 69 70   ${exe} | gunzip
1a890 20 7c 20 74 61 72 20 2d 2d 6e 6f 2d 73 61 6d 65   | tar --no-same
1a8a0 2d 6f 77 6e 65 72 20 2d 78 66 20 2d 0a 20 20 20  -owner -xf -.   
1a8b0 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20       ;;.        
1a8c0 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  *).            e
1a8d0 65 72 72 6f 72 20 22 55 6e 6b 6e 6f 77 6e 20 66  error "Unknown f
1a8e0 69 6c 65 74 79 70 65 20 5c 22 24 7b 66 69 6c 65  iletype \"${file
1a8f0 74 79 70 65 7d 5c 22 20 3f 22 3b 0a 20 20 20 20  type}\" ?";.    
1a900 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20          false.  
1a910 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61        ;;.    esa
1a920 63 3b 0a 20 20 20 20 5f 70 69 70 65 73 74 61 74  c;.    _pipestat
1a930 75 73 3d 22 24 7b 50 49 50 45 53 54 41 54 55 53  us="${PIPESTATUS
1a940 5b 2a 5d 7d 22 3b 0a 20 20 20 20 5b 5b 20 22 24  [*]}";.    [[ "$
1a950 7b 5f 70 69 70 65 73 74 61 74 75 73 2f 2f 20 2f  {_pipestatus// /
1a960 7d 22 20 2d 65 71 20 30 20 5d 5d 20 7c 7c 20 64  }" -eq 0 ]] || d
1a970 69 65 20 22 66 61 69 6c 75 72 65 20 75 6e 70 61  ie "failure unpa
1a980 63 6b 69 6e 67 20 28 24 7b 66 69 6c 65 74 79 70  cking (${filetyp
1a990 65 7d 29 20 6d 61 6b 65 73 65 6c 66 20 24 7b 73  e}) makeself ${s
1a9a0 68 72 74 73 72 63 7d 20 28 27 24 7b 76 65 72 7d  hrtsrc} ('${ver}
1a9b0 27 20 2b 24 7b 73 6b 69 70 7d 29 22 0a 7d 0a 75  ' +${skip})".}.u
1a9c0 6e 70 61 63 6b 5f 70 64 76 20 28 29 20 0a 7b 20  npack_pdv () .{ 
1a9d0 0a 20 20 20 20 6c 6f 63 61 6c 20 73 72 63 3d 24  .    local src=$
1a9e0 28 66 69 6e 64 5f 75 6e 70 61 63 6b 61 62 6c 65  (find_unpackable
1a9f0 5f 66 69 6c 65 20 22 24 31 22 29 3b 0a 20 20 20  _file "$1");.   
1aa00 20 6c 6f 63 61 6c 20 73 69 7a 65 6f 66 66 5f 74   local sizeoff_t
1aa10 3d 24 32 3b 0a 20 20 20 20 5b 5b 20 2d 7a 20 24  =$2;.    [[ -z $
1aa20 7b 73 72 63 7d 20 5d 5d 20 26 26 20 64 69 65 20  {src} ]] && die 
1aa30 22 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 63 61 74  "Could not locat
1aa40 65 20 73 6f 75 72 63 65 20 66 6f 72 20 27 24 31  e source for '$1
1aa50 27 22 3b 0a 20 20 20 20 5b 5b 20 2d 7a 20 24 7b  '";.    [[ -z ${
1aa60 73 69 7a 65 6f 66 66 5f 74 7d 20 5d 5d 20 26 26  sizeoff_t} ]] &&
1aa70 20 64 69 65 20 22 4e 6f 20 69 64 65 61 20 77 68   die "No idea wh
1aa80 61 74 20 6f 66 66 5f 74 20 73 69 7a 65 20 77 61  at off_t size wa
1aa90 73 20 75 73 65 64 20 66 6f 72 20 74 68 69 73 20  s used for this 
1aaa0 70 64 76 20 3a 28 22 3b 0a 20 20 20 20 6c 6f 63  pdv :(";.    loc
1aab0 61 6c 20 73 68 72 74 73 72 63 3d 24 28 62 61 73  al shrtsrc=$(bas
1aac0 65 6e 61 6d 65 20 22 24 7b 73 72 63 7d 22 29 3b  ename "${src}");
1aad0 0a 20 20 20 20 65 63 68 6f 20 22 3e 3e 3e 20 55  .    echo ">>> U
1aae0 6e 70 61 63 6b 69 6e 67 20 24 7b 73 68 72 74 73  npacking ${shrts
1aaf0 72 63 7d 20 74 6f 20 24 7b 50 57 44 7d 22 3b 0a  rc} to ${PWD}";.
1ab00 20 20 20 20 6c 6f 63 61 6c 20 6d 65 74 61 73 6b      local metask
1ab10 69 70 3d 24 28 74 61 69 6c 20 2d 63 20 24 7b 73  ip=$(tail -c ${s
1ab20 69 7a 65 6f 66 66 5f 74 7d 20 22 24 7b 73 72 63  izeoff_t} "${src
1ab30 7d 22 20 7c 20 68 65 78 64 75 6d 70 20 2d 65 20  }" | hexdump -e 
1ab40 5c 22 25 69 5c 22 29 3b 0a 20 20 20 20 6c 6f 63  \"%i\");.    loc
1ab50 61 6c 20 74 61 69 6c 73 6b 69 70 3d 24 28 74 61  al tailskip=$(ta
1ab60 69 6c 20 2d 63 20 24 28 28 24 7b 73 69 7a 65 6f  il -c $((${sizeo
1ab70 66 66 5f 74 7d 2a 32 29 29 20 22 24 7b 73 72 63  ff_t}*2)) "${src
1ab80 7d 22 20 7c 20 68 65 61 64 20 2d 63 20 24 7b 73  }" | head -c ${s
1ab90 69 7a 65 6f 66 66 5f 74 7d 20 7c 20 68 65 78 64  izeoff_t} | hexd
1aba0 75 6d 70 20 2d 65 20 5c 22 25 69 5c 22 29 3b 0a  ump -e \"%i\");.
1abb0 20 20 20 20 6c 6f 63 61 6c 20 6d 65 74 61 66 69      local metafi
1abc0 6c 65 3d 24 28 65 6d 6b 74 65 6d 70 29 3b 0a 20  le=$(emktemp);. 
1abd0 20 20 20 74 61 69 6c 20 2d 63 20 2b 24 28 28 24     tail -c +$(($
1abe0 7b 6d 65 74 61 73 6b 69 70 7d 2b 31 29 29 20 22  {metaskip}+1)) "
1abf0 24 7b 73 72 63 7d 22 20 3e 20 22 24 7b 6d 65 74  ${src}" > "${met
1ac00 61 66 69 6c 65 7d 22 3b 0a 20 20 20 20 6c 6f 63  afile}";.    loc
1ac10 61 6c 20 64 61 74 61 66 69 6c 65 3d 24 28 74 61  al datafile=$(ta
1ac20 69 6c 20 2d 63 20 2b 24 28 28 24 7b 6d 65 74 61  il -c +$((${meta
1ac30 73 6b 69 70 7d 2b 31 29 29 20 22 24 7b 73 72 63  skip}+1)) "${src
1ac40 7d 22 20 7c 20 73 74 72 69 6e 67 73 20 7c 20 68  }" | strings | h
1ac50 65 61 64 20 2d 6e 20 31 29 3b 0a 20 20 20 20 64  ead -n 1);.    d
1ac60 61 74 61 66 69 6c 65 3d 24 28 62 61 73 65 6e 61  atafile=$(basena
1ac70 6d 65 20 22 24 7b 64 61 74 61 66 69 6c 65 7d 22  me "${datafile}"
1ac80 29 3b 0a 20 20 20 20 6c 6f 63 61 6c 20 74 6d 70  );.    local tmp
1ac90 66 69 6c 65 3d 24 28 65 6d 6b 74 65 6d 70 29 3b  file=$(emktemp);
1aca0 0a 20 20 20 20 74 61 69 6c 20 2d 63 20 2b 24 28  .    tail -c +$(
1acb0 28 24 7b 74 61 69 6c 73 6b 69 70 7d 2b 31 29 29  (${tailskip}+1))
1acc0 20 24 7b 73 72 63 7d 20 32 3e 20 2f 64 65 76 2f   ${src} 2> /dev/
1acd0 6e 75 6c 6c 20 7c 20 68 65 61 64 20 2d 63 20 35  null | head -c 5
1ace0 31 32 20 3e 20 24 7b 74 6d 70 66 69 6c 65 7d 3b  12 > ${tmpfile};
1acf0 0a 20 20 20 20 6c 6f 63 61 6c 20 69 73 63 6f 6d  .    local iscom
1ad00 70 72 65 73 73 65 64 3d 24 28 66 69 6c 65 20 2d  pressed=$(file -
1ad10 62 20 22 24 7b 74 6d 70 66 69 6c 65 7d 22 29 3b  b "${tmpfile}");
1ad20 0a 20 20 20 20 69 66 20 5b 5b 20 24 7b 69 73 63  .    if [[ ${isc
1ad30 6f 6d 70 72 65 73 73 65 64 3a 30 3a 38 7d 20 3d  ompressed:0:8} =
1ad40 3d 20 22 63 6f 6d 70 72 65 73 73 22 20 5d 5d 3b  = "compress" ]];
1ad50 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 69 73   then.        is
1ad60 63 6f 6d 70 72 65 73 73 65 64 3d 31 3b 0a 20 20  compressed=1;.  
1ad70 20 20 20 20 20 20 6d 76 20 24 7b 74 6d 70 66 69        mv ${tmpfi
1ad80 6c 65 7d 7b 2c 2e 5a 7d 3b 0a 20 20 20 20 20 20  le}{,.Z};.      
1ad90 20 20 67 75 6e 7a 69 70 20 24 7b 74 6d 70 66 69    gunzip ${tmpfi
1ada0 6c 65 7d 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20  le};.    else.  
1adb0 20 20 20 20 20 20 69 73 63 6f 6d 70 72 65 73 73        iscompress
1adc0 65 64 3d 30 3b 0a 20 20 20 20 66 69 3b 0a 20 20  ed=0;.    fi;.  
1add0 20 20 6c 6f 63 61 6c 20 69 73 74 61 72 3d 24 28    local istar=$(
1ade0 66 69 6c 65 20 2d 62 20 22 24 7b 74 6d 70 66 69  file -b "${tmpfi
1adf0 6c 65 7d 22 29 3b 0a 20 20 20 20 69 66 20 5b 5b  le}");.    if [[
1ae00 20 24 7b 69 73 74 61 72 3a 30 3a 39 7d 20 3d 3d   ${istar:0:9} ==
1ae10 20 22 50 4f 53 49 58 20 74 61 72 22 20 5d 5d 3b   "POSIX tar" ]];
1ae20 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 69 73   then.        is
1ae30 74 61 72 3d 31 3b 0a 20 20 20 20 65 6c 73 65 0a  tar=1;.    else.
1ae40 20 20 20 20 20 20 20 20 69 73 74 61 72 3d 30 3b          istar=0;
1ae50 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 69 66 20  .    fi;.    if 
1ae60 5b 20 24 7b 69 73 63 6f 6d 70 72 65 73 73 65 64  [ ${iscompressed
1ae70 7d 20 2d 65 71 20 31 20 5d 3b 20 74 68 65 6e 0a  } -eq 1 ]; then.
1ae80 20 20 20 20 20 20 20 20 69 66 20 5b 20 24 7b 69          if [ ${i
1ae90 73 74 61 72 7d 20 2d 65 71 20 31 20 5d 3b 20 74  star} -eq 1 ]; t
1aea0 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20  hen.            
1aeb0 74 61 69 6c 20 2d 63 20 2b 24 28 28 24 7b 74 61  tail -c +$((${ta
1aec0 69 6c 73 6b 69 70 7d 2b 31 29 29 20 24 7b 73 72  ilskip}+1)) ${sr
1aed0 63 7d 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20  c} 2> /dev/null 
1aee0 7c 20 68 65 61 64 20 2d 63 20 24 28 28 24 7b 6d  | head -c $((${m
1aef0 65 74 61 73 6b 69 70 7d 2d 24 7b 74 61 69 6c 73  etaskip}-${tails
1af00 6b 69 70 7d 29 29 20 7c 20 74 61 72 20 2d 78 7a  kip})) | tar -xz
1af10 66 20 2d 3b 0a 20 20 20 20 20 20 20 20 65 6c 73  f -;.        els
1af20 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 61  e.            ta
1af30 69 6c 20 2d 63 20 2b 24 28 28 24 7b 74 61 69 6c  il -c +$((${tail
1af40 73 6b 69 70 7d 2b 31 29 29 20 24 7b 73 72 63 7d  skip}+1)) ${src}
1af50 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20   2> /dev/null | 
1af60 68 65 61 64 20 2d 63 20 24 28 28 24 7b 6d 65 74  head -c $((${met
1af70 61 73 6b 69 70 7d 2d 24 7b 74 61 69 6c 73 6b 69  askip}-${tailski
1af80 70 7d 29 29 20 7c 20 67 7a 69 70 20 2d 64 63 20  p})) | gzip -dc 
1af90 3e 20 24 7b 64 61 74 61 66 69 6c 65 7d 3b 0a 20  > ${datafile};. 
1afa0 20 20 20 20 20 20 20 66 69 3b 0a 20 20 20 20 65         fi;.    e
1afb0 6c 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 5b  lse.        if [
1afc0 20 24 7b 69 73 74 61 72 7d 20 2d 65 71 20 31 20   ${istar} -eq 1 
1afd0 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20  ]; then.        
1afe0 20 20 20 20 74 61 69 6c 20 2d 63 20 2b 24 28 28      tail -c +$((
1aff0 24 7b 74 61 69 6c 73 6b 69 70 7d 2b 31 29 29 20  ${tailskip}+1)) 
1b000 24 7b 73 72 63 7d 20 32 3e 20 2f 64 65 76 2f 6e  ${src} 2> /dev/n
1b010 75 6c 6c 20 7c 20 68 65 61 64 20 2d 63 20 24 28  ull | head -c $(
1b020 28 24 7b 6d 65 74 61 73 6b 69 70 7d 2d 24 7b 74  (${metaskip}-${t
1b030 61 69 6c 73 6b 69 70 7d 29 29 20 7c 20 74 61 72  ailskip})) | tar
1b040 20 2d 2d 6e 6f 2d 73 61 6d 65 2d 6f 77 6e 65 72   --no-same-owner
1b050 20 2d 78 66 20 2d 3b 0a 20 20 20 20 20 20 20 20   -xf -;.        
1b060 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20  else.           
1b070 20 74 61 69 6c 20 2d 63 20 2b 24 28 28 24 7b 74   tail -c +$((${t
1b080 61 69 6c 73 6b 69 70 7d 2b 31 29 29 20 24 7b 73  ailskip}+1)) ${s
1b090 72 63 7d 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c  rc} 2> /dev/null
1b0a0 20 7c 20 68 65 61 64 20 2d 63 20 24 28 28 24 7b   | head -c $((${
1b0b0 6d 65 74 61 73 6b 69 70 7d 2d 24 7b 74 61 69 6c  metaskip}-${tail
1b0c0 73 6b 69 70 7d 29 29 20 3e 20 24 7b 64 61 74 61  skip})) > ${data
1b0d0 66 69 6c 65 7d 3b 0a 20 20 20 20 20 20 20 20 66  file};.        f
1b0e0 69 3b 0a 20 20 20 20 66 69 3b 0a 20 20 20 20 74  i;.    fi;.    t
1b0f0 72 75 65 0a 7d 0a 76 61 6c 69 64 61 74 65 5f 64  rue.}.validate_d
1b100 65 73 6b 74 6f 70 5f 65 6e 74 72 69 65 73 20 28  esktop_entries (
1b110 29 20 0a 7b 20 0a 20 20 20 20 69 66 20 5b 5b 20  ) .{ .    if [[ 
1b120 2d 78 20 2f 75 73 72 2f 62 69 6e 2f 64 65 73 6b  -x /usr/bin/desk
1b130 74 6f 70 2d 66 69 6c 65 2d 76 61 6c 69 64 61 74  top-file-validat
1b140 65 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20  e ]]; then.     
1b150 20 20 20 65 69 6e 66 6f 20 22 43 68 65 63 6b 69     einfo "Checki
1b160 6e 67 20 64 65 73 6b 74 6f 70 20 65 6e 74 72 79  ng desktop entry
1b170 20 76 61 6c 69 64 69 74 79 22 3b 0a 20 20 20 20   validity";.    
1b180 20 20 20 20 6c 6f 63 61 6c 20 64 69 72 65 63 74      local direct
1b190 6f 72 69 65 73 3d 22 22 3b 0a 20 20 20 20 20 20  ories="";.      
1b1a0 20 20 66 6f 72 20 64 20 69 6e 20 2f 75 73 72 2f    for d in /usr/
1b1b0 73 68 61 72 65 2f 61 70 70 6c 69 63 61 74 69 6f  share/applicatio
1b1c0 6e 73 20 24 40 3b 0a 20 20 20 20 20 20 20 20 64  ns $@;.        d
1b1d0 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 5b  o.            [[
1b1e0 20 2d 64 20 24 7b 44 7d 24 7b 64 7d 20 5d 5d 20   -d ${D}${d} ]] 
1b1f0 26 26 20 64 69 72 65 63 74 6f 72 69 65 73 3d 22  && directories="
1b200 24 7b 64 69 72 65 63 74 6f 72 69 65 73 7d 20 24  ${directories} $
1b210 7b 44 7d 24 7b 64 7d 22 3b 0a 20 20 20 20 20 20  {D}${d}";.      
1b220 20 20 64 6f 6e 65 3b 0a 20 20 20 20 20 20 20 20    done;.        
1b230 69 66 20 5b 5b 20 2d 6e 20 24 7b 64 69 72 65 63  if [[ -n ${direc
1b240 74 6f 72 69 65 73 7d 20 5d 5d 3b 20 74 68 65 6e  tories} ]]; then
1b250 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72  .            for
1b260 20 46 49 4c 45 20 69 6e 20 24 28 66 69 6e 64 20   FILE in $(find 
1b270 24 7b 64 69 72 65 63 74 6f 72 69 65 73 7d 20 2d  ${directories} -
1b280 6e 61 6d 65 20 22 2a 5c 2e 64 65 73 6b 74 6f 70  name "*\.desktop
1b290 22 20 09 09 09 09 09 09 09 2d 6e 6f 74 20 2d 70  " .......-not -p
1b2a0 61 74 68 20 27 2a 2e 68 69 64 64 65 6e 2a 27 20  ath '*.hidden*' 
1b2b0 7c 20 73 6f 72 74 20 2d 75 20 32 3e 2f 64 65 76  | sort -u 2>/dev
1b2c0 2f 6e 75 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20  /null);.        
1b2d0 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20      do.         
1b2e0 20 20 20 20 20 20 20 6c 6f 63 61 6c 20 74 65 6d         local tem
1b2f0 70 3d 24 28 64 65 73 6b 74 6f 70 2d 66 69 6c 65  p=$(desktop-file
1b300 2d 76 61 6c 69 64 61 74 65 20 24 7b 46 49 4c 45  -validate ${FILE
1b310 7d 20 7c 20 67 72 65 70 20 2d 76 20 22 77 61 72  } | grep -v "war
1b320 6e 69 6e 67 3a 22 20 7c 20 09 09 09 09 09 09 09  ning:" | .......
1b330 09 73 65 64 20 2d 65 20 22 73 7c 65 72 72 6f 72  .sed -e "s|error
1b340 3a 20 7c 7c 22 20 2d 65 20 22 73 7c 24 7b 46 49  : ||" -e "s|${FI
1b350 4c 45 7d 3a 7c 2d 2d 7c 67 22 20 29 3b 0a 20 20  LE}:|--|g" );.  
1b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5b                [[
1b370 20 2d 6e 20 24 74 65 6d 70 20 5d 5d 20 26 26 20   -n $temp ]] && 
1b380 65 6c 6f 67 20 24 7b 74 65 6d 70 2f 2d 2d 2f 24  elog ${temp/--/$
1b390 7b 46 49 4c 45 2f 24 7b 44 7d 2f 7d 3a 7d 3b 0a  {FILE/${D}/}:};.
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 6e 65              done
1b3b0 3b 0a 20 20 20 20 20 20 20 20 66 69 3b 0a 20 20  ;.        fi;.  
1b3c0 20 20 20 20 20 20 65 63 68 6f 20 22 22 3b 0a 20        echo "";. 
1b3d0 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20     else.        
1b3e0 65 69 6e 66 6f 20 22 50 61 73 73 69 6e 67 20 64  einfo "Passing d
1b3f0 65 73 6b 74 6f 70 20 65 6e 74 72 79 20 76 61 6c  esktop entry val
1b400 69 64 69 74 79 20 63 68 65 63 6b 2e 20 49 6e 73  idity check. Ins
1b410 74 61 6c 6c 20 64 65 76 2d 75 74 69 6c 2f 64 65  tall dev-util/de
1b420 73 6b 74 6f 70 2d 66 69 6c 65 2d 75 74 69 6c 73  sktop-file-utils
1b430 2c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f  , if you want to
1b440 20 68 65 6c 70 20 74 6f 20 69 6d 70 72 6f 76 65   help to improve
1b450 20 47 65 6e 74 6f 6f 2e 22 3b 0a 20 20 20 20 66   Gentoo.";.    f
1b460 69 0a 7d 0a 64 65 63 6c 61 72 65 20 2d 78 20 41  i.}.declare -x A
1b470 4c 53 41 5f 43 41 52 44 53 3d 22 22 0a 64 65 63  LSA_CARDS="".dec
1b480 6c 61 72 65 20 2d 78 20 41 4c 53 41 5f 50 43 4d  lare -x ALSA_PCM
1b490 5f 50 4c 55 47 49 4e 53 3d 22 61 64 70 63 6d 20  _PLUGINS="adpcm 
1b4a0 61 6c 61 77 20 61 73 79 6d 20 63 6f 70 79 20 64  alaw asym copy d
1b4b0 6d 69 78 20 64 73 68 61 72 65 20 64 73 6e 6f 6f  mix dshare dsnoo
1b4c0 70 20 65 6d 70 74 79 20 65 78 74 70 6c 75 67 20  p empty extplug 
1b4d0 66 69 6c 65 20 68 6f 6f 6b 73 20 69 65 63 39 35  file hooks iec95
1b4e0 38 20 69 6f 70 6c 75 67 20 6c 61 64 73 70 61 20  8 ioplug ladspa 
1b4f0 6c 66 6c 6f 61 74 20 6c 69 6e 65 61 72 20 6d 65  lfloat linear me
1b500 74 65 72 20 6d 6d 61 70 5f 65 6d 75 6c 20 6d 75  ter mmap_emul mu
1b510 6c 61 77 20 6d 75 6c 74 69 20 6e 75 6c 6c 20 70  law multi null p
1b520 6c 75 67 20 72 61 74 65 20 72 6f 75 74 65 20 73  lug rate route s
1b530 68 61 72 65 20 73 68 6d 20 73 6f 66 74 76 6f 6c  hare shm softvol
1b540 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 41 4e 54  ".declare -x ANT
1b550 5f 48 4f 4d 45 3d 22 2f 75 73 72 2f 73 68 61 72  _HOME="/usr/shar
1b560 65 2f 61 6e 74 22 0a 64 65 63 6c 61 72 65 20 2d  e/ant".declare -
1b570 78 20 41 50 41 43 48 45 32 5f 4d 4f 44 55 4c 45  x APACHE2_MODULE
1b580 53 3d 22 61 63 74 69 6f 6e 73 20 61 6c 69 61 73  S="actions alias
1b590 20 61 75 74 68 5f 62 61 73 69 63 20 61 75 74 68   auth_basic auth
1b5a0 6e 5f 61 6c 69 61 73 20 61 75 74 68 6e 5f 61 6e  n_alias authn_an
1b5b0 6f 6e 20 61 75 74 68 6e 5f 64 62 6d 20 61 75 74  on authn_dbm aut
1b5c0 68 6e 5f 64 65 66 61 75 6c 74 20 61 75 74 68 6e  hn_default authn
1b5d0 5f 66 69 6c 65 20 61 75 74 68 7a 5f 64 62 6d 20  _file authz_dbm 
1b5e0 61 75 74 68 7a 5f 64 65 66 61 75 6c 74 20 61 75  authz_default au
1b5f0 74 68 7a 5f 67 72 6f 75 70 66 69 6c 65 20 61 75  thz_groupfile au
1b600 74 68 7a 5f 68 6f 73 74 20 61 75 74 68 7a 5f 6f  thz_host authz_o
1b610 77 6e 65 72 20 61 75 74 68 7a 5f 75 73 65 72 20  wner authz_user 
1b620 61 75 74 6f 69 6e 64 65 78 20 63 61 63 68 65 20  autoindex cache 
1b630 64 61 76 20 64 61 76 5f 66 73 20 64 61 76 5f 6c  dav dav_fs dav_l
1b640 6f 63 6b 20 64 65 66 6c 61 74 65 20 64 69 72 20  ock deflate dir 
1b650 64 69 73 6b 5f 63 61 63 68 65 20 65 6e 76 20 65  disk_cache env e
1b660 78 70 69 72 65 73 20 65 78 74 5f 66 69 6c 74 65  xpires ext_filte
1b670 72 20 66 69 6c 65 5f 63 61 63 68 65 20 66 69 6c  r file_cache fil
1b680 74 65 72 20 68 65 61 64 65 72 73 20 69 6e 63 6c  ter headers incl
1b690 75 64 65 20 69 6e 66 6f 20 6c 6f 67 5f 63 6f 6e  ude info log_con
1b6a0 66 69 67 20 6c 6f 67 69 6f 20 6d 65 6d 5f 63 61  fig logio mem_ca
1b6b0 63 68 65 20 6d 69 6d 65 20 6d 69 6d 65 5f 6d 61  che mime mime_ma
1b6c0 67 69 63 20 6e 65 67 6f 74 69 61 74 69 6f 6e 20  gic negotiation 
1b6d0 72 65 77 72 69 74 65 20 73 65 74 65 6e 76 69 66  rewrite setenvif
1b6e0 20 73 70 65 6c 69 6e 67 20 73 74 61 74 75 73 20   speling status 
1b6f0 75 6e 69 71 75 65 5f 69 64 20 75 73 65 72 64 69  unique_id userdi
1b700 72 20 75 73 65 72 74 72 61 63 6b 20 76 68 6f 73  r usertrack vhos
1b710 74 5f 61 6c 69 61 73 22 0a 64 65 63 6c 61 72 65  t_alias".declare
1b720 20 2d 78 20 41 52 43 48 3d 22 78 38 36 22 0a 64   -x ARCH="x86".d
1b730 65 63 6c 61 72 65 20 2d 78 20 42 52 4f 57 53 45  eclare -x BROWSE
1b740 52 3d 22 6b 6f 6e 71 75 65 72 6f 72 22 0a 64 65  R="konqueror".de
1b750 63 6c 61 72 65 20 2d 78 20 43 41 4d 45 52 41 53  clare -x CAMERAS
1b760 3d 22 64 69 72 65 63 74 6f 72 79 20 73 70 63 61  ="directory spca
1b770 35 30 78 20 73 78 33 33 30 7a 20 74 65 6d 70 6c  50x sx330z templ
1b780 61 74 65 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  ate".declare -x 
1b790 43 42 55 49 4c 44 3d 22 69 36 38 36 2d 70 63 2d  CBUILD="i686-pc-
1b7a0 6c 69 6e 75 78 2d 67 6e 75 22 0a 64 65 63 6c 61  linux-gnu".decla
1b7b0 72 65 20 2d 78 20 43 44 45 46 49 4e 45 5f 64 65  re -x CDEFINE_de
1b7c0 66 61 75 6c 74 3d 22 5f 5f 75 6e 69 78 5f 5f 22  fault="__unix__"
1b7d0 0a 64 65 63 6c 61 72 65 20 2d 78 20 43 46 4c 41  .declare -x CFLA
1b7e0 47 53 3d 22 2d 6d 61 72 63 68 3d 6e 61 74 69 76  GS="-march=nativ
1b7f0 65 20 2d 6d 74 75 6e 65 3d 6e 61 74 69 76 65 20  e -mtune=native 
1b800 2d 4f 33 20 2d 70 69 70 65 20 2d 6d 33 64 6e 6f  -O3 -pipe -m3dno
1b810 77 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 43 46  w".declare -x CF
1b820 4c 41 47 53 5f 64 65 66 61 75 6c 74 3d 22 22 0a  LAGS_default="".
1b830 64 65 63 6c 61 72 65 20 2d 78 20 43 48 4f 53 54  declare -x CHOST
1b840 3d 22 69 36 38 36 2d 70 63 2d 6c 69 6e 75 78 2d  ="i686-pc-linux-
1b850 67 6e 75 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  gnu".declare -x 
1b860 43 48 4f 53 54 5f 64 65 66 61 75 6c 74 3d 22 69  CHOST_default="i
1b870 36 38 36 2d 70 63 2d 6c 69 6e 75 78 2d 67 6e 75  686-pc-linux-gnu
1b880 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 43 4f 4c  ".declare -x COL
1b890 4f 4e 5f 53 45 50 41 52 41 54 45 44 3d 22 58 44  ON_SEPARATED="XD
1b8a0 47 5f 44 41 54 41 5f 44 49 52 53 20 58 44 47 5f  G_DATA_DIRS XDG_
1b8b0 43 4f 4e 46 49 47 5f 44 49 52 53 22 0a 64 65 63  CONFIG_DIRS".dec
1b8c0 6c 61 72 65 20 2d 78 20 43 4f 4c 4f 52 46 47 42  lare -x COLORFGB
1b8d0 47 3d 22 31 35 3b 64 65 66 61 75 6c 74 3b 30 22  G="15;default;0"
1b8e0 0a 64 65 63 6c 61 72 65 20 2d 78 20 43 52 4f 53  .declare -x CROS
1b8f0 53 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 3d 22 22  SCOMPILE_OPTS=""
1b900 0a 64 65 63 6c 61 72 65 20 2d 78 20 43 54 41 52  .declare -x CTAR
1b910 47 45 54 5f 64 65 66 61 75 6c 74 3d 22 69 36 38  GET_default="i68
1b920 36 2d 70 63 2d 6c 69 6e 75 78 2d 67 6e 75 22 0a  6-pc-linux-gnu".
1b930 64 65 63 6c 61 72 65 20 2d 78 20 43 56 53 5f 52  declare -x CVS_R
1b940 53 48 3d 22 73 73 68 22 0a 64 65 63 6c 61 72 65  SH="ssh".declare
1b950 20 2d 78 20 43 58 58 46 4c 41 47 53 3d 22 2d 6d   -x CXXFLAGS="-m
1b960 61 72 63 68 3d 6e 61 74 69 76 65 20 2d 6d 74 75  arch=native -mtu
1b970 6e 65 3d 6e 61 74 69 76 65 20 2d 4f 33 20 2d 70  ne=native -O3 -p
1b980 69 70 65 20 2d 6d 33 64 6e 6f 77 22 0a 64 65 63  ipe -m3dnow".dec
1b990 6c 61 72 65 20 2d 78 20 44 42 55 53 5f 53 45 53  lare -x DBUS_SES
1b9a0 53 49 4f 4e 5f 42 55 53 5f 41 44 44 52 45 53 53  SION_BUS_ADDRESS
1b9b0 3d 22 75 6e 69 78 3a 61 62 73 74 72 61 63 74 3d  ="unix:abstract=
1b9c0 2f 74 6d 70 2f 64 62 75 73 2d 62 46 51 47 43 69  /tmp/dbus-bFQGCi
1b9d0 36 6f 38 64 2c 67 75 69 64 3d 31 39 62 31 30 37  6o8d,guid=19b107
1b9e0 36 36 30 37 33 62 32 35 62 32 34 65 31 61 32 64  66073b25b24e1a2d
1b9f0 61 38 34 61 37 62 64 36 34 30 22 0a 64 65 63 6c  a84a7bd640".decl
1ba00 61 72 65 20 2d 78 20 44 45 46 41 55 4c 54 5f 41  are -x DEFAULT_A
1ba10 42 49 3d 22 64 65 66 61 75 6c 74 22 0a 64 65 63  BI="default".dec
1ba20 6c 61 72 65 20 2d 78 20 44 45 46 49 4e 45 44 5f  lare -x DEFINED_
1ba30 50 48 41 53 45 53 3d 22 20 63 6f 6d 70 69 6c 65  PHASES=" compile
1ba40 20 63 6f 6e 66 69 67 75 72 65 20 69 6e 73 74 61   configure insta
1ba50 6c 6c 20 70 72 65 69 6e 73 74 20 70 72 65 70 61  ll preinst prepa
1ba60 72 65 20 75 6e 70 61 63 6b 22 0a 64 65 63 6c 61  re unpack".decla
1ba70 72 65 20 2d 78 20 44 45 53 4b 54 4f 50 5f 53 45  re -x DESKTOP_SE
1ba80 53 53 49 4f 4e 3d 22 4b 44 45 2d 34 22 0a 64 65  SSION="KDE-4".de
1ba90 63 6c 61 72 65 20 2d 78 20 44 45 53 4b 54 4f 50  clare -x DESKTOP
1baa0 5f 53 54 41 52 54 55 50 5f 49 44 3d 22 22 0a 64  _STARTUP_ID="".d
1bab0 65 63 6c 61 72 65 20 2d 78 20 44 45 53 54 54 52  eclare -x DESTTR
1bac0 45 45 3d 22 2f 75 73 72 22 0a 64 65 63 6c 61 72  EE="/usr".declar
1bad0 65 20 2d 78 20 44 49 52 4f 50 54 49 4f 4e 53 3d  e -x DIROPTIONS=
1bae0 22 2d 6d 30 37 35 35 22 0a 64 65 63 6c 61 72 65  "-m0755".declare
1baf0 20 2d 78 20 44 4d 5f 43 4f 4e 54 52 4f 4c 3d 22   -x DM_CONTROL="
1bb00 2f 76 61 72 2f 72 75 6e 2f 78 64 6d 63 74 6c 22  /var/run/xdmctl"
1bb10 0a 64 65 63 6c 61 72 65 20 2d 78 20 45 41 50 49  .declare -x EAPI
1bb20 3d 22 32 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  ="2".declare -x 
1bb30 45 4c 49 42 43 3d 22 67 6c 69 62 63 22 0a 64 65  ELIBC="glibc".de
1bb40 63 6c 61 72 65 20 2d 78 20 45 53 56 4e 5f 57 43  clare -x ESVN_WC
1bb50 5f 50 41 54 48 3d 22 2f 6d 6e 74 2f 73 72 63 2f  _PATH="/mnt/src/
1bb60 64 69 73 74 66 69 6c 65 73 2f 67 65 6e 74 6f 6f  distfiles/gentoo
1bb70 2f 64 69 73 74 66 69 6c 65 73 2f 73 76 6e 2d 73  /distfiles/svn-s
1bb80 72 63 2f 74 63 6c 67 70 67 2f 74 72 75 6e 6b 22  rc/tclgpg/trunk"
1bb90 0a 64 65 63 6c 61 72 65 20 2d 78 20 45 53 56 4e  .declare -x ESVN
1bba0 5f 57 43 5f 52 45 56 49 53 49 4f 4e 3d 22 35 36  _WC_REVISION="56
1bbb0 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 45 53 56  ".declare -x ESV
1bbc0 4e 5f 57 43 5f 52 4f 4f 54 3d 22 52 6f 6f 74 3a  N_WC_ROOT="Root:
1bbd0 20 68 74 74 70 3a 2f 2f 74 63 6c 67 70 67 2e 67   http://tclgpg.g
1bbe0 6f 6f 67 6c 65 63 6f 64 65 2e 63 6f 6d 2f 73 76  ooglecode.com/sv
1bbf0 6e 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 45 53  n".declare -x ES
1bc00 56 4e 5f 57 43 5f 55 52 4c 3d 22 68 74 74 70 3a  VN_WC_URL="http:
1bc10 2f 2f 74 63 6c 67 70 67 2e 67 6f 6f 67 6c 65 63  //tclgpg.googlec
1bc20 6f 64 65 2e 63 6f 6d 2f 73 76 6e 2f 74 72 75 6e  ode.com/svn/trun
1bc30 6b 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 45 53  k".declare -x ES
1bc40 56 4e 5f 57 43 5f 55 55 49 44 3d 22 55 55 49 44  VN_WC_UUID="UUID
1bc50 3a 20 66 65 65 34 34 36 37 64 2d 64 34 35 35 2d  : fee4467d-d455-
1bc60 30 34 31 30 2d 61 33 36 38 2d 62 31 37 34 63 30  0410-a368-b174c0
1bc70 34 37 38 30 38 36 22 0a 64 65 63 6c 61 72 65 20  478086".declare 
1bc80 2d 78 20 45 58 45 4f 50 54 49 4f 4e 53 3d 22 2d  -x EXEOPTIONS="-
1bc90 6d 30 37 35 35 22 0a 64 65 63 6c 61 72 65 20 2d  m0755".declare -
1bca0 78 20 46 45 41 54 55 52 45 53 3d 22 61 73 73 75  x FEATURES="assu
1bcb0 6d 65 2d 64 69 67 65 73 74 73 20 63 61 6e 64 79  me-digests candy
1bcc0 20 63 63 61 63 68 65 20 64 69 73 74 6c 6f 63 6b   ccache distlock
1bcd0 73 20 66 69 78 70 61 63 6b 61 67 65 73 20 6d 65  s fixpackages me
1bce0 74 61 64 61 74 61 2d 74 72 61 6e 73 66 65 72 20  tadata-transfer 
1bcf0 70 61 72 61 6c 6c 65 6c 2d 66 65 74 63 68 20 70  parallel-fetch p
1bd00 72 65 73 65 72 76 65 2d 6c 69 62 73 20 70 72 6f  reserve-libs pro
1bd10 74 65 63 74 2d 6f 77 6e 65 64 20 73 61 6e 64 62  tect-owned sandb
1bd20 6f 78 20 73 66 70 65 72 6d 73 20 73 74 72 69 63  ox sfperms stric
1bd30 74 20 75 6e 6d 65 72 67 65 2d 6c 6f 67 73 20 75  t unmerge-logs u
1bd40 6e 6d 65 72 67 65 2d 6f 72 70 68 61 6e 73 20 75  nmerge-orphans u
1bd50 73 65 72 66 65 74 63 68 20 75 73 65 72 70 72 69  serfetch userpri
1bd60 76 20 75 73 65 72 73 61 6e 64 62 6f 78 22 0a 64  v usersandbox".d
1bd70 65 63 6c 61 72 65 20 2d 78 20 46 46 4c 41 47 53  eclare -x FFLAGS
1bd80 3d 22 2d 6d 61 72 63 68 3d 6e 61 74 69 76 65 20  ="-march=native 
1bd90 2d 6d 74 75 6e 65 3d 6e 61 74 69 76 65 20 2d 4f  -mtune=native -O
1bda0 33 20 2d 70 69 70 65 20 2d 6d 33 64 6e 6f 77 22  3 -pipe -m3dnow"
1bdb0 0a 64 65 63 6c 61 72 65 20 2d 78 20 47 43 43 5f  .declare -x GCC_
1bdc0 53 50 45 43 53 3d 22 22 0a 64 65 63 6c 61 72 65  SPECS="".declare
1bdd0 20 2d 78 20 47 44 4b 5f 55 53 45 5f 58 46 54 3d   -x GDK_USE_XFT=
1bde0 22 31 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 47  "1".declare -x G
1bdf0 50 47 5f 54 54 59 3d 22 2f 64 65 76 2f 70 74 73  PG_TTY="/dev/pts
1be00 2f 31 32 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  /12".declare -x 
1be10 47 52 41 53 53 5f 4c 44 5f 4c 49 42 52 41 52 59  GRASS_LD_LIBRARY
1be20 5f 50 41 54 48 3d 22 2f 75 73 72 2f 67 72 61 73  _PATH="/usr/gras
1be30 73 36 32 2f 6c 69 62 22 0a 64 65 63 6c 61 72 65  s62/lib".declare
1be40 20 2d 78 20 47 53 5f 4c 49 42 3d 22 2f 68 6f 6d   -x GS_LIB="/hom
1be50 65 2f 75 73 65 72 2f 2e 66 6f 6e 74 73 22 0a 64  e/user/.fonts".d
1be60 65 63 6c 61 72 65 20 2d 78 20 47 54 4b 32 5f 52  eclare -x GTK2_R
1be70 43 5f 46 49 4c 45 53 3d 22 2f 68 6f 6d 65 2f 75  C_FILES="/home/u
1be80 73 65 72 2f 2e 67 74 6b 72 63 2d 32 2e 30 2d 6b  ser/.gtkrc-2.0-k
1be90 64 65 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 48  de".declare -x H
1bea0 45 4c 50 44 49 52 3d 22 2f 75 73 72 2f 6c 6f 63  ELPDIR="/usr/loc
1beb0 61 6c 2f 6c 69 62 2f 7a 73 68 2f 68 65 6c 70 22  al/lib/zsh/help"
1bec0 0a 64 65 63 6c 61 72 65 20 2d 78 20 48 49 53 54  .declare -x HIST
1bed0 43 4f 4e 54 52 4f 4c 3d 22 69 67 6e 6f 72 65 62  CONTROL="ignoreb
1bee0 6f 74 68 3a 65 72 61 73 65 64 75 70 73 22 0a 64  oth:erasedups".d
1bef0 65 63 6c 61 72 65 20 2d 78 20 48 49 53 54 46 49  eclare -x HISTFI
1bf00 4c 45 53 49 5a 45 3d 22 32 30 30 30 30 30 22 0a  LESIZE="200000".
1bf10 64 65 63 6c 61 72 65 20 2d 78 20 48 49 53 54 53  declare -x HISTS
1bf20 49 5a 45 3d 22 32 30 30 30 30 30 22 0a 64 65 63  IZE="200000".dec
1bf30 6c 61 72 65 20 2d 78 20 48 49 53 54 54 49 4d 45  lare -x HISTTIME
1bf40 46 4f 52 4d 41 54 3d 22 25 46 5f 25 54 22 0a 64  FORMAT="%F_%T".d
1bf50 65 63 6c 61 72 65 20 2d 78 20 49 4e 48 45 52 49  eclare -x INHERI
1bf60 54 45 44 3d 22 74 6f 6f 6c 63 68 61 69 6e 2d 66  TED="toolchain-f
1bf70 75 6e 63 73 20 70 6f 72 74 61 62 69 6c 69 74 79  uncs portability
1bf80 20 6d 75 6c 74 69 6c 69 62 20 73 75 62 76 65 72   multilib subver
1bf90 73 69 6f 6e 20 6c 69 62 74 6f 6f 6c 20 61 75 74  sion libtool aut
1bfa0 6f 74 6f 6f 6c 73 20 65 75 74 69 6c 73 22 0a 64  otools eutils".d
1bfb0 65 63 6c 61 72 65 20 2d 78 20 49 4e 50 55 54 5f  eclare -x INPUT_
1bfc0 44 45 56 49 43 45 53 3d 22 6b 65 79 62 6f 61 72  DEVICES="keyboar
1bfd0 64 20 6d 6f 75 73 65 20 70 73 32 6d 6f 75 73 65  d mouse ps2mouse
1bfe0 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 49 4e 53  ".declare -x INS
1bff0 44 45 53 54 54 52 45 45 3d 22 22 0a 64 65 63 6c  DESTTREE="".decl
1c000 61 72 65 20 2d 78 20 49 4e 53 4f 50 54 49 4f 4e  are -x INSOPTION
1c010 53 3d 22 2d 6d 30 36 34 34 22 0a 64 65 63 6c 61  S="-m0644".decla
1c020 72 65 20 2d 78 20 4a 41 56 41 43 3d 22 2f 65 74  re -x JAVAC="/et
1c030 63 2f 6a 61 76 61 2d 63 6f 6e 66 69 67 2d 32 2f  c/java-config-2/
1c040 63 75 72 72 65 6e 74 2d 73 79 73 74 65 6d 2d 76  current-system-v
1c050 6d 2f 62 69 6e 2f 6a 61 76 61 63 22 0a 64 65 63  m/bin/javac".dec
1c060 6c 61 72 65 20 2d 78 20 4a 41 56 41 43 43 5f 48  lare -x JAVACC_H
1c070 4f 4d 45 3d 22 2f 75 73 72 2f 73 68 61 72 65 2f  OME="/usr/share/
1c080 6a 61 76 61 63 63 2f 22 0a 64 65 63 6c 61 72 65  javacc/".declare
1c090 20 2d 78 20 4a 41 56 41 5f 48 4f 4d 45 3d 22 2f   -x JAVA_HOME="/
1c0a0 65 74 63 2f 6a 61 76 61 2d 63 6f 6e 66 69 67 2d  etc/java-config-
1c0b0 32 2f 63 75 72 72 65 6e 74 2d 73 79 73 74 65 6d  2/current-system
1c0c0 2d 76 6d 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  -vm".declare -x 
1c0d0 4a 44 4b 5f 48 4f 4d 45 3d 22 2f 65 74 63 2f 6a  JDK_HOME="/etc/j
1c0e0 61 76 61 2d 63 6f 6e 66 69 67 2d 32 2f 63 75 72  ava-config-2/cur
1c0f0 72 65 6e 74 2d 73 79 73 74 65 6d 2d 76 6d 22 0a  rent-system-vm".
1c100 64 65 63 6c 61 72 65 20 2d 78 20 4b 44 45 5f 46  declare -x KDE_F
1c110 55 4c 4c 5f 53 45 53 53 49 4f 4e 3d 22 74 72 75  ULL_SESSION="tru
1c120 65 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 4b 44  e".declare -x KD
1c130 45 5f 49 53 5f 50 52 45 4c 49 4e 4b 45 44 3d 22  E_IS_PRELINKED="
1c140 31 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 4b 44  1".declare -x KD
1c150 45 5f 53 45 53 53 49 4f 4e 5f 55 49 44 3d 22 31  E_SESSION_UID="1
1c160 30 30 30 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  000".declare -x 
1c170 4b 44 45 5f 53 45 53 53 49 4f 4e 5f 56 45 52 53  KDE_SESSION_VERS
1c180 49 4f 4e 3d 22 34 22 0a 64 65 63 6c 61 72 65 20  ION="4".declare 
1c190 2d 78 20 4b 45 52 4e 45 4c 3d 22 6c 69 6e 75 78  -x KERNEL="linux
1c1a0 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 4b 45 52  ".declare -x KER
1c1b0 4e 45 4c 5f 41 42 49 3d 22 64 65 66 61 75 6c 74  NEL_ABI="default
1c1c0 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 4b 45 59  ".declare -x KEY
1c1d0 57 4f 52 44 53 3d 22 7e 78 38 36 20 7e 61 6d 64  WORDS="~x86 ~amd
1c1e0 36 34 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 4b  64".declare -x K
1c1f0 56 3d 22 32 2e 36 2e 32 39 2d 74 75 78 6f 6e 69  V="2.6.29-tuxoni
1c200 63 65 2d 72 33 22 0a 64 65 63 6c 61 72 65 20 2d  ce-r3".declare -
1c210 78 20 4c 41 44 53 50 41 5f 50 41 54 48 3d 22 2f  x LADSPA_PATH="/
1c220 75 73 72 2f 6c 69 62 2f 6c 61 64 73 70 61 22 0a  usr/lib/ladspa".
1c230 64 65 63 6c 61 72 65 20 2d 78 20 4c 41 4e 47 3d  declare -x LANG=
1c240 22 72 75 5f 52 55 2e 55 54 46 2d 38 22 0a 64 65  "ru_RU.UTF-8".de
1c250 63 6c 61 72 65 20 2d 78 20 4c 41 4e 47 55 41 47  clare -x LANGUAG
1c260 45 3d 22 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  E="".declare -x 
1c270 4c 43 44 5f 44 45 56 49 43 45 53 3d 22 62 61 79  LCD_DEVICES="bay
1c280 72 61 64 20 63 66 6f 6e 74 7a 20 63 66 6f 6e 74  rad cfontz cfont
1c290 7a 36 33 33 20 67 6c 6b 20 68 64 34 34 37 38 30  z633 glk hd44780
1c2a0 20 6c 62 32 31 36 20 6c 63 64 6d 30 30 31 20 6d   lb216 lcdm001 m
1c2b0 74 78 6f 72 62 20 6e 63 75 72 73 65 73 20 74 65  txorb ncurses te
1c2c0 78 74 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 4c  xt".declare -x L
1c2d0 43 5f 41 4c 4c 3d 22 22 0a 64 65 63 6c 61 72 65  C_ALL="".declare
1c2e0 20 2d 78 20 4c 43 5f 4e 55 4d 45 52 49 43 3d 22   -x LC_NUMERIC="
1c2f0 50 4f 53 49 58 22 0a 64 65 63 6c 61 72 65 20 2d  POSIX".declare -
1c300 78 20 4c 44 46 4c 41 47 53 3d 22 2d 57 6c 2c 2d  x LDFLAGS="-Wl,-
1c310 4f 31 2c 2d 2d 68 61 73 68 2d 73 74 79 6c 65 3d  O1,--hash-style=
1c320 67 6e 75 2c 2d 2d 73 6f 72 74 2d 63 6f 6d 6d 6f  gnu,--sort-commo
1c330 6e 2c 2d 2d 61 73 2d 6e 65 65 64 65 64 22 0a 64  n,--as-needed".d
1c340 65 63 6c 61 72 65 20 2d 78 20 4c 44 46 4c 41 47  eclare -x LDFLAG
1c350 53 5f 64 65 66 61 75 6c 74 3d 22 22 0a 64 65 63  S_default="".dec
1c360 6c 61 72 65 20 2d 78 20 4c 44 50 41 54 48 3d 22  lare -x LDPATH="
1c370 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6c 69 62 3a 2f  /usr/local/lib:/
1c380 75 73 72 2f 6c 69 62 2f 6f 70 65 6e 67 6c 2f 6e  usr/lib/opengl/n
1c390 76 69 64 69 61 2f 6c 69 62 3a 2f 75 73 72 2f 69  vidia/lib:/usr/i
1c3a0 36 38 36 2d 70 63 2d 6c 69 6e 75 78 2d 67 6e 75  686-pc-linux-gnu
1c3b0 2f 6c 69 62 3a 2f 75 73 72 2f 6c 69 62 2f 67 63  /lib:/usr/lib/gc
1c3c0 63 2f 69 36 38 36 2d 70 63 2d 6c 69 6e 75 78 2d  c/i686-pc-linux-
1c3d0 67 6e 75 2f 34 2e 33 2e 32 3a 2f 75 73 72 2f 6c  gnu/4.3.2:/usr/l
1c3e0 69 62 2f 6e 73 70 72 3a 2f 75 73 72 2f 6c 69 62  ib/nspr:/usr/lib
1c3f0 2f 6e 73 73 3a 2f 75 73 72 2f 6c 69 62 2f 71 63  /nss:/usr/lib/qc
1c400 61 32 3a 2f 75 73 72 2f 6c 69 62 2f 71 74 34 3a  a2:/usr/lib/qt4:
1c410 2f 75 73 72 2f 6b 64 65 2f 33 2e 35 2f 6c 69 62  /usr/kde/3.5/lib
1c420 3a 2f 75 73 72 2f 71 74 2f 33 2f 6c 69 62 3a 2f  :/usr/qt/3/lib:/
1c430 75 73 72 2f 6c 69 62 2f 70 6f 73 74 67 72 65 73  usr/lib/postgres
1c440 71 6c 2d 38 2e 33 2f 6c 69 62 3a 2f 75 73 72 2f  ql-8.3/lib:/usr/
1c450 6c 69 62 2f 70 6f 73 74 67 72 65 73 71 6c 2d 38  lib/postgresql-8
1c460 2e 31 2f 6c 69 62 3a 2f 6f 70 74 2f 66 69 72 65  .1/lib:/opt/fire
1c470 66 6f 78 3a 2f 75 73 72 2f 67 61 6d 65 73 2f 6c  fox:/usr/games/l
1c480 69 62 3a 2f 75 73 72 2f 67 72 61 73 73 36 32 2f  ib:/usr/grass62/
1c490 6c 69 62 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  lib".declare -x 
1c4a0 4c 47 52 49 4e 44 45 46 3d 22 2f 75 73 72 2f 73  LGRINDEF="/usr/s
1c4b0 68 61 72 65 2f 74 65 78 6d 66 2f 74 65 78 2f 6c  hare/texmf/tex/l
1c4c0 61 74 65 78 2f 6c 67 72 69 6e 64 2f 6c 67 72 69  atex/lgrind/lgri
1c4d0 6e 64 65 66 22 0a 64 65 63 6c 61 72 65 20 2d 78  ndef".declare -x
1c4e0 20 4c 49 42 44 49 52 5f 64 65 66 61 75 6c 74 3d   LIBDIR_default=
1c4f0 22 6c 69 62 22 0a 64 65 63 6c 61 72 65 20 2d 78  "lib".declare -x
1c500 20 4c 49 42 4f 50 54 49 4f 4e 53 3d 22 2d 6d 30   LIBOPTIONS="-m0
1c510 36 34 34 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  644".declare -x 
1c520 4c 49 43 45 4e 53 45 3d 22 42 53 44 2d 32 22 0a  LICENSE="BSD-2".
1c530 64 65 63 6c 61 72 65 20 2d 78 20 4c 49 4e 47 55  declare -x LINGU
1c540 41 53 3d 22 72 75 22 0a 64 65 63 6c 61 72 65 20  AS="ru".declare 
1c550 2d 78 20 4c 49 52 43 5f 44 45 56 49 43 45 53 3d  -x LIRC_DEVICES=
1c560 22 70 63 74 76 22 0a 64 65 63 6c 61 72 65 20 2d  "pctv".declare -
1c570 78 20 4d 41 49 4c 3d 22 2f 76 61 72 2f 73 70 6f  x MAIL="/var/spo
1c580 6f 6c 2f 6d 61 69 6c 2f 72 6f 6f 74 22 0a 64 65  ol/mail/root".de
1c590 63 6c 61 72 65 20 2d 78 20 4d 41 4b 45 4f 50 54  clare -x MAKEOPT
1c5a0 53 3d 22 2d 6a 32 22 0a 64 65 63 6c 61 72 65 20  S="-j2".declare 
1c5b0 2d 78 20 4d 4f 5a 4c 49 4e 47 55 41 3d 22 72 75  -x MOZLINGUA="ru
1c5c0 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 4d 4f 5a  ".declare -x MOZ
1c5d0 5f 44 49 53 41 42 4c 45 5f 50 41 4e 47 4f 3d 22  _DISABLE_PANGO="
1c5e0 31 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 4d 50  1".declare -x MP
1c5f0 44 5f 48 4f 53 54 3d 22 31 32 37 2e 30 2e 30 2e  D_HOST="127.0.0.
1c600 31 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 4d 55  1".declare -x MU
1c610 4c 54 49 4c 49 42 5f 41 42 49 53 3d 22 64 65 66  LTILIB_ABIS="def
1c620 61 75 6c 74 22 0a 64 65 63 6c 61 72 65 20 2d 78  ault".declare -x
1c630 20 4e 45 54 42 45 41 4e 53 3d 22 61 70 69 73 75   NETBEANS="apisu
1c640 70 70 6f 72 74 20 63 6e 64 20 67 72 6f 6f 76 79  pport cnd groovy
1c650 20 67 73 66 20 68 61 72 6e 65 73 73 20 69 64 65   gsf harness ide
1c660 20 69 64 65 6e 74 69 74 79 20 6a 32 65 65 20 6a   identity j2ee j
1c670 61 76 61 20 6d 6f 62 69 6c 69 74 79 20 6e 62 20  ava mobility nb 
1c680 70 68 70 20 70 72 6f 66 69 6c 65 72 20 73 6f 61  php profiler soa
1c690 20 76 69 73 75 61 6c 77 65 62 20 77 65 62 63 6f   visualweb webco
1c6a0 6d 6d 6f 6e 20 77 65 62 73 76 63 63 6f 6d 6d 6f  mmon websvccommo
1c6b0 6e 20 78 6d 6c 22 0a 64 65 63 6c 61 72 65 20 2d  n xml".declare -
1c6c0 78 20 4f 50 45 4e 47 4c 5f 50 52 4f 46 49 4c 45  x OPENGL_PROFILE
1c6d0 3d 22 78 6f 72 67 2d 78 31 31 22 0a 64 65 63 6c  ="xorg-x11".decl
1c6e0 61 72 65 20 2d 78 20 50 4b 47 5f 43 4f 4e 46 49  are -x PKG_CONFI
1c6f0 47 5f 50 41 54 48 3d 22 2f 75 73 72 2f 71 74 2f  G_PATH="/usr/qt/
1c700 33 2f 6c 69 62 2f 70 6b 67 63 6f 6e 66 69 67 22  3/lib/pkgconfig"
1c710 0a 64 65 63 6c 61 72 65 20 2d 78 20 50 4f 52 54  .declare -x PORT
1c720 41 47 45 5f 43 4f 4d 50 52 45 53 53 5f 45 58 43  AGE_COMPRESS_EXC
1c730 4c 55 44 45 5f 53 55 46 46 49 58 45 53 3d 22 63  LUDE_SUFFIXES="c
1c740 73 73 20 67 69 66 20 68 74 6d 5b 6c 5d 3f 20 6a  ss gif htm[l]? j
1c750 70 5b 65 5d 3f 67 20 6a 73 20 70 64 66 20 70 6e  p[e]?g js pdf pn
1c760 67 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 50 4f  g".declare -x PO
1c770 52 54 41 47 45 5f 45 43 4c 41 53 53 5f 57 41 52  RTAGE_ECLASS_WAR
1c780 4e 49 4e 47 5f 45 4e 41 42 4c 45 3d 22 30 22 0a  NING_ENABLE="0".
1c790 64 65 63 6c 61 72 65 20 2d 78 20 50 4f 52 54 41  declare -x PORTA
1c7a0 47 45 5f 4e 49 43 45 4e 45 53 53 3d 22 33 22 0a  GE_NICENESS="3".
1c7b0 64 65 63 6c 61 72 65 20 2d 78 20 50 52 45 4c 49  declare -x PRELI
1c7c0 4e 4b 5f 50 41 54 48 5f 4d 41 53 4b 3d 22 2f 75  NK_PATH_MASK="/u
1c7d0 73 72 2f 6c 69 62 2f 6b 6c 69 62 63 22 0a 64 65  sr/lib/klibc".de
1c7e0 63 6c 61 72 65 20 2d 78 20 50 52 4f 46 49 4c 45  clare -x PROFILE
1c7f0 5f 4f 4e 4c 59 5f 56 41 52 49 41 42 4c 45 53 3d  _ONLY_VARIABLES=
1c800 22 41 52 43 48 20 45 4c 49 42 43 20 4b 45 52 4e  "ARCH ELIBC KERN
1c810 45 4c 20 55 53 45 52 4c 41 4e 44 22 0a 64 65 63  EL USERLAND".dec
1c820 6c 61 72 65 20 2d 78 20 50 52 4f 50 45 52 54 49  lare -x PROPERTI
1c830 45 53 3d 22 22 0a 64 65 63 6c 61 72 65 20 2d 78  ES="".declare -x
1c840 20 50 52 4f 56 49 44 45 3d 22 22 0a 64 65 63 6c   PROVIDE="".decl
1c850 61 72 65 20 2d 78 20 51 4d 41 4b 45 53 50 45 43  are -x QMAKESPEC
1c860 3d 22 6c 69 6e 75 78 2d 67 2b 2b 22 0a 64 65 63  ="linux-g++".dec
1c870 6c 61 72 65 20 2d 78 20 51 54 44 49 52 3d 22 2f  lare -x QTDIR="/
1c880 75 73 72 2f 71 74 2f 33 22 0a 64 65 63 6c 61 72  usr/qt/3".declar
1c890 65 20 2d 78 20 51 54 5f 50 4c 55 47 49 4e 5f 50  e -x QT_PLUGIN_P
1c8a0 41 54 48 3d 22 2f 68 6f 6d 65 2f 75 73 65 72 2f  ATH="/home/user/
1c8b0 2e 6b 64 65 34 2f 6c 69 62 2f 6b 64 65 34 2f 70  .kde4/lib/kde4/p
1c8c0 6c 75 67 69 6e 73 2f 3a 2f 75 73 72 2f 6c 69 62  lugins/:/usr/lib
1c8d0 2f 6b 64 65 34 2f 70 6c 75 67 69 6e 73 2f 22 0a  /kde4/plugins/".
1c8e0 64 65 63 6c 61 72 65 20 2d 78 20 52 44 45 50 45  declare -x RDEPE
1c8f0 4e 44 3d 22 61 70 70 2d 63 72 79 70 74 2f 67 6e  ND="app-crypt/gn
1c900 75 70 67 0a 09 64 65 76 2d 6c 61 6e 67 2f 74 63  upg..dev-lang/tc
1c910 6c 0a 09 21 68 65 6c 70 65 72 3f 20 28 20 64 65  l..!helper? ( de
1c920 76 2d 74 63 6c 74 6b 2f 74 63 6c 78 20 29 20 20  v-tcltk/tclx )  
1c930 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 52 45 43  ".declare -x REC
1c940 4f 4c 4c 5f 45 58 54 52 41 5f 44 42 53 3d 22 2f  OLL_EXTRA_DBS="/
1c950 76 61 72 2f 6c 69 62 2f 72 65 63 6f 6c 6c 2f 73  var/lib/recoll/s
1c960 74 6f 72 61 67 65 2f 78 61 70 69 61 6e 64 62 3a  torage/xapiandb:
1c970 2f 76 61 72 2f 6c 69 62 2f 72 65 63 6f 6c 6c 2f  /var/lib/recoll/
1c980 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2f 78 61  documentation/xa
1c990 70 69 61 6e 64 62 3a 2f 76 61 72 2f 6c 69 62 2f  piandb:/var/lib/
1c9a0 72 65 63 6f 6c 6c 2f 68 64 61 33 2f 78 61 70 69  recoll/hda3/xapi
1c9b0 61 6e 64 62 3a 2f 76 61 72 2f 6c 69 62 2f 72 65  andb:/var/lib/re
1c9c0 63 6f 6c 6c 2f 72 69 6d 6d 61 2f 78 61 70 69 61  coll/rimma/xapia
1c9d0 6e 64 62 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  ndb".declare -x 
1c9e0 52 45 53 54 52 49 43 54 3d 22 22 0a 64 65 63 6c  RESTRICT="".decl
1c9f0 61 72 65 20 2d 78 20 52 55 42 59 4f 50 54 3d 22  are -x RUBYOPT="
1ca00 2d 72 61 75 74 6f 5f 67 65 6d 22 0a 64 65 63 6c  -rauto_gem".decl
1ca10 61 72 65 20 2d 78 20 53 3d 22 2f 76 61 72 2f 74  are -x S="/var/t
1ca20 6d 70 2f 70 6f 72 74 61 67 65 2f 64 65 76 2d 74  mp/portage/dev-t
1ca30 63 6c 74 6b 2f 74 63 6c 67 70 67 2d 39 39 39 39  cltk/tclgpg-9999
1ca40 2f 77 6f 72 6b 2f 74 63 6c 67 70 67 2d 39 39 39  /work/tclgpg-999
1ca50 39 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 53 41  9".declare -x SA
1ca60 4e 44 42 4f 58 5f 44 45 42 55 47 3d 22 30 22 0a  NDBOX_DEBUG="0".
1ca70 64 65 63 6c 61 72 65 20 2d 78 20 53 41 4e 44 42  declare -x SANDB
1ca80 4f 58 5f 44 45 4e 59 3d 22 2f 65 74 63 2f 6c 64  OX_DENY="/etc/ld
1ca90 2e 73 6f 2e 70 72 65 6c 6f 61 64 22 0a 64 65 63  .so.preload".dec
1caa0 6c 61 72 65 20 2d 78 20 53 41 4e 44 42 4f 58 5f  lare -x SANDBOX_
1cab0 50 49 44 3d 22 32 32 34 35 22 0a 64 65 63 6c 61  PID="2245".decla
1cac0 72 65 20 2d 78 20 53 41 4e 44 42 4f 58 5f 50 52  re -x SANDBOX_PR
1cad0 45 44 49 43 54 3d 22 2f 76 61 72 2f 74 6d 70 2f  EDICT="/var/tmp/
1cae0 70 6f 72 74 61 67 65 2f 64 65 76 2d 74 63 6c 74  portage/dev-tclt
1caf0 6b 2f 74 63 6c 67 70 67 2d 39 39 39 39 2f 68 6f  k/tclgpg-9999/ho
1cb00 6d 65 64 69 72 3a 2f 64 65 76 2f 63 72 79 70 74  medir:/dev/crypt
1cb10 6f 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 53 41  o".declare -x SA
1cb20 4e 44 42 4f 58 5f 52 45 41 44 3d 22 2f 3a 2f 65  NDBOX_READ="/:/e
1cb30 74 63 2f 73 75 62 76 65 72 73 69 6f 6e 3a 2f 76  tc/subversion:/v
1cb40 61 72 2f 74 6d 70 3a 2f 76 61 72 2f 74 6d 70 2f  ar/tmp:/var/tmp/
1cb50 63 63 61 63 68 65 3a 2f 76 61 72 2f 74 6d 70 2f  ccache:/var/tmp/
1cb60 63 63 61 63 68 65 22 0a 64 65 63 6c 61 72 65 20  ccache".declare 
1cb70 2d 78 20 53 41 4e 44 42 4f 58 5f 56 45 52 42 4f  -x SANDBOX_VERBO
1cb80 53 45 3d 22 31 22 0a 64 65 63 6c 61 72 65 20 2d  SE="1".declare -
1cb90 78 20 53 41 4e 44 42 4f 58 5f 57 52 49 54 45 3d  x SANDBOX_WRITE=
1cba0 22 3a 2f 64 65 76 2f 63 6f 6e 73 6f 6c 65 3a 2f  ":/dev/console:/
1cbb0 64 65 76 2f 66 64 3a 2f 64 65 76 2f 66 75 6c 6c  dev/fd:/dev/full
1cbc0 3a 2f 64 65 76 2f 6e 75 6c 6c 3a 2f 64 65 76 2f  :/dev/null:/dev/
1cbd0 70 74 73 2f 3a 2f 64 65 76 2f 70 74 79 3a 2f 64  pts/:/dev/pty:/d
1cbe0 65 76 2f 73 68 6d 3a 2f 64 65 76 2f 74 74 73 3a  ev/shm:/dev/tts:
1cbf0 2f 64 65 76 2f 74 74 79 3a 2f 64 65 76 2f 76 63  /dev/tty:/dev/vc
1cc00 2f 3a 2f 64 65 76 2f 7a 65 72 6f 3a 2f 6d 6e 74  /:/dev/zero:/mnt
1cc10 2f 73 72 63 2f 64 69 73 74 66 69 6c 65 73 2f 67  /src/distfiles/g
1cc20 65 6e 74 6f 6f 2f 64 69 73 74 66 69 6c 65 73 2f  entoo/distfiles/
1cc30 73 76 6e 2d 73 72 63 3a 2f 70 72 6f 63 2f 73 65  svn-src:/proc/se
1cc40 6c 66 2f 66 64 3a 2f 74 6d 70 2f 3a 2f 75 73 72  lf/fd:/tmp/:/usr
1cc50 2f 6c 69 62 33 32 2f 63 66 3a 2f 75 73 72 2f 6c  /lib32/cf:/usr/l
1cc60 69 62 33 32 2f 63 6f 6e 66 74 65 73 74 3a 2f 75  ib32/conftest:/u
1cc70 73 72 2f 6c 69 62 36 34 2f 63 66 3a 2f 75 73 72  sr/lib64/cf:/usr
1cc80 2f 6c 69 62 36 34 2f 63 6f 6e 66 74 65 73 74 3a  /lib64/conftest:
1cc90 2f 75 73 72 2f 6c 69 62 2f 63 66 3a 2f 75 73 72  /usr/lib/cf:/usr
1cca0 2f 6c 69 62 2f 63 6f 6e 66 74 65 73 74 3a 2f 75  /lib/conftest:/u
1ccb0 73 72 2f 74 6d 70 2f 63 66 3a 2f 75 73 72 2f 74  sr/tmp/cf:/usr/t
1ccc0 6d 70 2f 63 6f 6e 66 74 65 73 74 3a 2f 76 61 72  mp/conftest:/var
1ccd0 2f 74 6d 70 3a 2f 76 61 72 2f 74 6d 70 2f 3a 2f  /tmp:/var/tmp/:/
1cce0 76 61 72 2f 74 6d 70 2f 63 63 61 63 68 65 3a 2f  var/tmp/ccache:/
1ccf0 76 61 72 2f 74 6d 70 2f 70 6f 72 74 61 67 65 2f  var/tmp/portage/
1cd00 64 65 76 2d 74 63 6c 74 6b 2f 74 63 6c 67 70 67  dev-tcltk/tclgpg
1cd10 2d 39 39 39 39 2f 68 6f 6d 65 64 69 72 2f 2e 62  -9999/homedir/.b
1cd20 61 73 68 5f 68 69 73 74 6f 72 79 3a 2f 76 61 72  ash_history:/var
1cd30 2f 74 6d 70 2f 63 63 61 63 68 65 22 0a 64 65 63  /tmp/ccache".dec
1cd40 6c 61 72 65 20 2d 78 20 53 41 4e 45 5f 42 41 43  lare -x SANE_BAC
1cd50 4b 45 4e 44 53 3d 22 65 70 73 6f 6e 20 73 6e 61  KENDS="epson sna
1cd60 70 73 63 61 6e 22 0a 64 65 63 6c 61 72 65 20 2d  pscan".declare -
1cd70 78 20 53 41 4e 45 5f 43 4f 4e 46 49 47 5f 44 49  x SANE_CONFIG_DI
1cd80 52 3d 22 2f 65 74 63 2f 73 61 6e 65 2e 64 22 0a  R="/etc/sane.d".
1cd90 64 65 63 6c 61 72 65 20 2d 78 20 53 41 56 45 48  declare -x SAVEH
1cda0 49 53 54 3d 22 5c 24 48 49 53 54 53 49 5a 45 22  IST="\$HISTSIZE"
1cdb0 0a 64 65 63 6c 61 72 65 20 2d 78 20 53 45 53 53  .declare -x SESS
1cdc0 49 4f 4e 5f 4d 41 4e 41 47 45 52 3d 22 6c 6f 63  ION_MANAGER="loc
1cdd0 61 6c 2f 6c 6f 63 61 6c 68 6f 73 74 3a 40 2f 74  al/localhost:@/t
1cde0 6d 70 2f 2e 49 43 45 2d 75 6e 69 78 2f 31 32 34  mp/.ICE-unix/124
1cdf0 33 34 2c 75 6e 69 78 2f 6c 6f 63 61 6c 68 6f 73  34,unix/localhos
1ce00 74 3a 2f 74 6d 70 2f 2e 49 43 45 2d 75 6e 69 78  t:/tmp/.ICE-unix
1ce10 2f 31 32 34 33 34 22 0a 64 65 63 6c 61 72 65 20  /12434".declare 
1ce20 2d 78 20 53 47 4d 4c 5f 43 41 54 41 4c 4f 47 5f  -x SGML_CATALOG_
1ce30 46 49 4c 45 53 3d 22 2f 65 74 63 2f 73 67 6d 6c  FILES="/etc/sgml
1ce40 2f 73 67 6d 6c 2d 64 6f 63 62 6f 6f 6b 2e 63 61  /sgml-docbook.ca
1ce50 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f 6f 70 65 6e  t:/etc/sgml/open
1ce60 6a 61 64 65 2d 31 2e 33 2e 32 2e 63 61 74 3a 2f  jade-1.3.2.cat:/
1ce70 65 74 63 2f 73 67 6d 6c 2f 6c 69 6e 75 78 64 6f  etc/sgml/linuxdo
1ce80 63 2e 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f  c.cat:/etc/sgml/
1ce90 78 6d 6c 2d 64 6f 63 62 6f 6f 6b 2d 34 2e 32 2e  xml-docbook-4.2.
1cea0 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f 78 6d  cat:/etc/sgml/xm
1ceb0 6c 2d 64 6f 63 62 6f 6f 6b 2d 34 2e 34 2e 63 61  l-docbook-4.4.ca
1cec0 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f 78 6d 6c 2d  t:/etc/sgml/xml-
1ced0 64 6f 63 62 6f 6f 6b 2d 34 2e 35 2e 63 61 74 3a  docbook-4.5.cat:
1cee0 2f 65 74 63 2f 73 67 6d 6c 2f 73 67 6d 6c 2d 65  /etc/sgml/sgml-e
1cef0 6e 74 2e 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c  nt.cat:/etc/sgml
1cf00 2f 78 6d 6c 2d 73 69 6d 70 6c 65 2d 64 6f 63 62  /xml-simple-docb
1cf10 6f 6f 6b 2d 31 2e 30 2e 63 61 74 3a 2f 65 74 63  ook-1.0.cat:/etc
1cf20 2f 73 67 6d 6c 2f 78 6d 6c 2d 73 69 6d 70 6c 65  /sgml/xml-simple
1cf30 2d 64 6f 63 62 6f 6f 6b 2d 34 2e 31 2e 32 2e 34  -docbook-4.1.2.4
1cf40 2e 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f 78  .cat:/etc/sgml/x
1cf50 6d 6c 2d 64 6f 63 62 6f 6f 6b 2d 34 2e 31 2e 32  ml-docbook-4.1.2
1cf60 2e 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f 73  .cat:/etc/sgml/s
1cf70 67 6d 6c 2d 64 6f 63 62 6f 6f 6b 2d 33 2e 30 2e  gml-docbook-3.0.
1cf80 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f 73 67  cat:/etc/sgml/sg
1cf90 6d 6c 2d 64 6f 63 62 6f 6f 6b 2d 33 2e 31 2e 63  ml-docbook-3.1.c
1cfa0 61 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f 73 67 6d  at:/etc/sgml/sgm
1cfb0 6c 2d 64 6f 63 62 6f 6f 6b 2d 34 2e 30 2e 63 61  l-docbook-4.0.ca
1cfc0 74 3a 2f 65 74 63 2f 73 67 6d 6c 2f 73 67 6d 6c  t:/etc/sgml/sgml
1cfd0 2d 64 6f 63 62 6f 6f 6b 2d 34 2e 31 2e 63 61 74  -docbook-4.1.cat
1cfe0 3a 2f 65 74 63 2f 73 67 6d 6c 2f 73 67 6d 6c 2d  :/etc/sgml/sgml-
1cff0 64 6f 63 62 6f 6f 6b 2d 34 2e 32 2e 63 61 74 3a  docbook-4.2.cat:
1d000 2f 65 74 63 2f 73 67 6d 6c 2f 73 67 6d 6c 2d 64  /etc/sgml/sgml-d
1d010 6f 63 62 6f 6f 6b 2d 34 2e 34 2e 63 61 74 3a 2f  ocbook-4.4.cat:/
1d020 65 74 63 2f 73 67 6d 6c 2f 73 67 6d 6c 2d 6c 69  etc/sgml/sgml-li
1d030 74 65 2e 63 61 74 3a 2f 65 74 63 2f 73 67 6d 6c  te.cat:/etc/sgml
1d040 2f 64 73 73 73 6c 2d 64 6f 63 62 6f 6f 6b 2d 73  /dsssl-docbook-s
1d050 74 79 6c 65 73 68 65 65 74 73 2e 63 61 74 22 0a  tylesheets.cat".
1d060 64 65 63 6c 61 72 65 20 2d 78 20 53 4c 4f 54 3d  declare -x SLOT=
1d070 22 30 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 53  "0".declare -x S
1d080 50 52 4f 4d 50 54 3d 22 d0 9e d1 88 d0 b8 d0 b1  PROMPT="........
1d090 d0 ba d0 b0 21 20 d0 92 d1 8b 20 d1 85 d0 be d1  ....! .... .....
1d0a0 82 d0 b5 d0 bb d0 b8 20 d0 b2 d0 b2 d0 b5 d1 81  ....... ........
1d0b0 d1 82 d0 b8 20 25 72 20 d0 b2 d0 bc d0 b5 d1 81  .... %r ........
1d0c0 d1 82 d0 be 20 25 52 3f 20 28 5b 59 5d 65 73 2f  .... %R? ([Y]es/
1d0d0 5b 4e 5d 6f 2f 5b 45 5d 64 69 74 2f 5b 41 5d 62  [N]o/[E]dit/[A]b
1d0e0 6f 72 74 29 20 22 0a 64 65 63 6c 61 72 65 20 2d  ort) ".declare -
1d0f0 78 20 53 54 52 49 47 49 5f 50 4c 55 47 49 4e 5f  x STRIGI_PLUGIN_
1d100 50 41 54 48 3d 22 2f 75 73 72 2f 6c 69 62 2f 73  PATH="/usr/lib/s
1d110 74 72 69 67 69 3a 22 0a 64 65 63 6c 61 72 65 20  trigi:".declare 
1d120 2d 78 20 53 55 44 4f 5f 43 4f 4d 4d 41 4e 44 3d  -x SUDO_COMMAND=
1d130 22 2f 62 69 6e 2f 7a 73 68 22 0a 64 65 63 6c 61  "/bin/zsh".decla
1d140 72 65 20 2d 78 20 53 55 44 4f 5f 47 49 44 3d 22  re -x SUDO_GID="
1d150 31 30 30 30 22 0a 64 65 63 6c 61 72 65 20 2d 78  1000".declare -x
1d160 20 53 55 44 4f 5f 55 49 44 3d 22 31 30 30 30 22   SUDO_UID="1000"
1d170 0a 64 65 63 6c 61 72 65 20 2d 78 20 53 55 44 4f  .declare -x SUDO
1d180 5f 55 53 45 52 3d 22 75 73 65 72 22 0a 64 65 63  _USER="user".dec
1d190 6c 61 72 65 20 2d 78 20 54 45 58 49 4e 50 55 54  lare -x TEXINPUT
1d1a0 53 3d 22 2f 75 73 72 2f 6c 69 62 2f 6f 63 61 6d  S="/usr/lib/ocam
1d1b0 6c 2f 6f 63 61 6d 6c 64 6f 63 3a 22 0a 64 65 63  l/ocamldoc:".dec
1d1c0 6c 61 72 65 20 2d 78 20 55 53 42 5f 44 45 56 46  lare -x USB_DEVF
1d1d0 53 5f 50 41 54 48 3d 22 2f 64 65 76 2f 62 75 73  S_PATH="/dev/bus
1d1e0 2f 75 73 62 22 0a 64 65 63 6c 61 72 65 20 2d 78  /usb".declare -x
1d1f0 20 55 53 45 3d 22 65 6c 69 62 63 5f 67 6c 69 62   USE="elibc_glib
1d200 63 20 6b 65 72 6e 65 6c 5f 6c 69 6e 75 78 20 74  c kernel_linux t
1d210 68 72 65 61 64 73 20 75 73 65 72 6c 61 6e 64 5f  hreads userland_
1d220 47 4e 55 20 78 38 36 22 0a 64 65 63 6c 61 72 65  GNU x86".declare
1d230 20 2d 78 20 55 53 45 52 44 4f 43 53 3d 22 2f 68   -x USERDOCS="/h
1d240 6f 6d 65 2f 75 73 65 72 2f 4d 79 44 6f 63 75 6d  ome/user/MyDocum
1d250 65 6e 74 73 22 0a 64 65 63 6c 61 72 65 20 2d 78  ents".declare -x
1d260 20 55 53 45 52 4c 41 4e 44 3d 22 47 4e 55 22 0a   USERLAND="GNU".
1d270 64 65 63 6c 61 72 65 20 2d 78 20 55 53 45 52 4e  declare -x USERN
1d280 41 4d 45 3d 22 72 6f 6f 74 22 0a 64 65 63 6c 61  AME="root".decla
1d290 72 65 20 2d 78 20 55 53 45 52 50 49 43 54 55 52  re -x USERPICTUR
1d2a0 45 53 3d 22 2f 68 6f 6d 65 2f 75 73 65 72 2f 4d  ES="/home/user/M
1d2b0 79 44 6f 63 75 6d 65 6e 74 73 2f 50 69 63 74 75  yDocuments/Pictu
1d2c0 72 65 73 22 0a 64 65 63 6c 61 72 65 20 2d 78 20  res".declare -x 
1d2d0 55 53 45 52 53 43 41 4e 4e 45 44 50 49 43 54 55  USERSCANNEDPICTU
1d2e0 52 45 53 3d 22 2f 68 6f 6d 65 2f 75 73 65 72 2f  RES="/home/user/
1d2f0 4d 79 44 6f 63 75 6d 65 6e 74 73 2f 50 69 63 74  MyDocuments/Pict
1d300 75 72 65 73 2f 73 63 61 6e 6e 65 64 22 0a 64 65  ures/scanned".de
1d310 63 6c 61 72 65 20 2d 78 20 56 49 44 45 4f 5f 43  clare -x VIDEO_C
1d320 41 52 44 53 3d 22 22 0a 64 65 63 6c 61 72 65 20  ARDS="".declare 
1d330 2d 78 20 57 41 4e 54 5f 41 55 54 4f 43 4f 4e 46  -x WANT_AUTOCONF
1d340 3d 22 32 2e 35 22 0a 64 65 63 6c 61 72 65 20 2d  ="2.5".declare -
1d350 78 20 57 41 4e 54 5f 41 55 54 4f 4d 41 4b 45 3d  x WANT_AUTOMAKE=
1d360 22 31 2e 31 30 22 0a 64 65 63 6c 61 72 65 20 2d  "1.10".declare -
1d370 78 20 57 49 4e 44 4f 57 49 44 3d 22 31 34 36 38  x WINDOWID="1468
1d380 30 33 34 30 22 0a 64 65 63 6c 61 72 65 20 2d 78  0340".declare -x
1d390 20 57 49 4e 44 4f 57 50 41 54 48 3d 22 37 22 0a   WINDOWPATH="7".
1d3a0 64 65 63 6c 61 72 65 20 2d 78 20 58 43 55 52 53  declare -x XCURS
1d3b0 4f 52 5f 54 48 45 4d 45 3d 22 42 6c 75 65 22 0a  OR_THEME="Blue".
1d3c0 64 65 63 6c 61 72 65 20 2d 78 20 58 44 47 5f 43  declare -x XDG_C
1d3d0 4f 4e 46 49 47 5f 44 49 52 53 3d 22 2f 65 74 63  ONFIG_DIRS="/etc
1d3e0 2f 78 64 67 22 0a 64 65 63 6c 61 72 65 20 2d 78  /xdg".declare -x
1d3f0 20 58 44 47 5f 44 41 54 41 5f 44 49 52 53 3d 22   XDG_DATA_DIRS="
1d400 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65  /usr/local/share
1d410 3a 2f 75 73 72 2f 6b 64 65 2f 33 2e 35 2f 73 68  :/usr/kde/3.5/sh
1d420 61 72 65 3a 2f 75 73 72 2f 73 68 61 72 65 22 0a  are:/usr/share".
1d430 64 65 63 6c 61 72 65 20 2d 78 20 58 44 47 5f 4d  declare -x XDG_M
1d440 45 4e 55 5f 50 52 45 46 49 58 3d 22 6b 64 65 2d  ENU_PREFIX="kde-
1d450 34 2e 32 2d 22 0a 64 65 63 6c 61 72 65 20 2d 78  4.2-".declare -x
1d460 20 58 44 47 5f 53 45 53 53 49 4f 4e 5f 43 4f 4f   XDG_SESSION_COO
1d470 4b 49 45 3d 22 35 62 62 66 32 34 61 35 63 37 33  KIE="5bbf24a5c73
1d480 36 30 37 33 35 34 35 36 39 62 37 30 30 34 35 65  607354569b70045e
1d490 61 38 63 36 63 2d 31 32 34 39 36 32 39 37 35 38  a8c6c-1249629758
1d4a0 2e 39 32 36 33 35 31 2d 31 32 37 34 36 30 36 32  .926351-12746062
1d4b0 35 35 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 58  55".declare -x X
1d4c0 44 4d 5f 4d 41 4e 41 47 45 44 3d 22 6d 65 74 68  DM_MANAGED="meth
1d4d0 6f 64 3d 63 6c 61 73 73 69 63 22 0a 64 65 63 6c  od=classic".decl
1d4e0 61 72 65 20 2d 78 20 58 45 52 43 45 53 43 5f 4e  are -x XERCESC_N
1d4f0 4c 53 5f 48 4f 4d 45 3d 22 2f 75 73 72 2f 73 68  LS_HOME="/usr/sh
1d500 61 72 65 2f 78 65 72 63 65 73 2d 63 2f 6d 73 67  are/xerces-c/msg
1d510 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 5f 45 5f  ".declare -x _E_
1d520 44 4f 43 44 45 53 54 54 52 45 45 5f 3d 22 22 0a  DOCDESTTREE_="".
1d530 64 65 63 6c 61 72 65 20 2d 78 20 5f 45 5f 45 58  declare -x _E_EX
1d540 45 44 45 53 54 54 52 45 45 5f 3d 22 22 0a 64 65  EDESTTREE_="".de
1d550 63 6c 61 72 65 20 2d 78 20 5f 5f 47 4c 5f 44 45  clare -x __GL_DE
1d560 46 41 55 4c 54 5f 4c 4f 47 5f 41 4e 49 53 4f 3d  FAULT_LOG_ANISO=
1d570 22 30 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 5f  "0".declare -x _
1d580 5f 47 4c 5f 46 53 41 41 5f 4d 4f 44 45 3d 22 30  _GL_FSAA_MODE="0
1d590 22 0a 64 65 63 6c 61 72 65 20 2d 78 20 5f 5f 47  ".declare -x __G
1d5a0 4c 5f 53 59 4e 43 5f 54 4f 5f 56 42 4c 41 4e 4b  L_SYNC_TO_VBLANK
1d5b0 3d 22 30 22 0a                                   ="0".