Cross package maker. DEB/RPM generation or conversion. Derived from jordansissel/fpm.

⌈⌋ branch:  cross package maker


Hex Artifact Content

Artifact 84feadbd3f6fd31a5623ec0fd86144f11703791b:

  • File xpm.gemspec — part of check-in [7523b79e0b] at 2014-12-22 20:10:08 on branch trunk — Release xpm branch as v1.3.3.3; rename binary and gem. (user: mario size: 1985)

0000: 72 65 71 75 69 72 65 20 46 69 6c 65 2e 6a 6f 69  require File.joi
0010: 6e 28 46 69 6c 65 2e 64 69 72 6e 61 6d 65 28 5f  n(File.dirname(_
0020: 5f 46 49 4c 45 5f 5f 29 2c 20 22 6c 69 62 2f 66  _FILE__), "lib/f
0030: 70 6d 2f 76 65 72 73 69 6f 6e 22 29 0a 47 65 6d  pm/version").Gem
0040: 3a 3a 53 70 65 63 69 66 69 63 61 74 69 6f 6e 2e  ::Specification.
0050: 6e 65 77 20 64 6f 20 7c 73 70 65 63 7c 0a 20 20  new do |spec|.  
0060: 66 69 6c 65 73 20 3d 20 5b 5d 0a 20 20 66 69 6c  files = [].  fil
0070: 65 73 20 2b 3d 20 44 69 72 5b 22 7b 62 69 6e 2c  es += Dir["{bin,
0080: 6c 69 62 2c 74 65 6d 70 6c 61 74 65 73 7d 2f 2a  lib,templates}/*
0090: 2a 2f 2a 22 5d 0a 0a 20 20 66 69 6c 65 73 20 3c  */*"]..  files <
00a0: 3c 20 22 4c 49 43 45 4e 53 45 22 0a 20 20 66 69  < "LICENSE".  fi
00b0: 6c 65 73 20 3c 3c 20 22 43 4f 4e 54 52 49 42 55  les << "CONTRIBU
00c0: 54 4f 52 53 22 0a 20 20 66 69 6c 65 73 20 3c 3c  TORS".  files <<
00d0: 20 22 43 48 41 4e 47 45 4c 49 53 54 22 0a 0a 20   "CHANGELIST".. 
00e0: 20 73 70 65 63 2e 6e 61 6d 65 20 3d 20 22 78 70   spec.name = "xp
00f0: 6d 22 0a 20 20 73 70 65 63 2e 76 65 72 73 69 6f  m".  spec.versio
0100: 6e 20 3d 20 46 50 4d 3a 3a 56 45 52 53 49 4f 4e  n = FPM::VERSION
0110: 0a 20 20 73 70 65 63 2e 73 75 6d 6d 61 72 79 20  .  spec.summary 
0120: 3d 20 22 66 70 6d 20 2d 20 70 61 63 6b 61 67 65  = "fpm - package
0130: 20 62 75 69 6c 64 69 6e 67 20 61 6e 64 20 6d 61   building and ma
0140: 6e 67 6c 69 6e 67 22 0a 20 20 73 70 65 63 2e 64  ngling".  spec.d
0150: 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 22 43 6f  escription = "Co
0160: 6e 76 65 72 74 20 64 69 72 65 63 74 6f 72 69 65  nvert directorie
0170: 73 2c 20 72 70 6d 73 2c 20 70 79 74 68 6f 6e 20  s, rpms, python 
0180: 65 67 67 73 2c 20 72 75 62 79 67 65 6d 73 2c 20  eggs, rubygems, 
0190: 61 6e 64 20 22 20 5c 0a 20 20 20 20 22 6d 6f 72  and " \.    "mor
01a0: 65 20 74 6f 20 72 70 6d 73 2c 20 64 65 62 73 2c  e to rpms, debs,
01b0: 20 73 6f 6c 61 72 69 73 20 70 61 63 6b 61 67 65   solaris package
01c0: 73 20 61 6e 64 20 6d 6f 72 65 2e 20 57 69 6e 20  s and more. Win 
01d0: 61 74 20 70 61 63 6b 61 67 65 20 22 20 5c 0a 20  at package " \. 
01e0: 20 20 20 22 6d 61 6e 61 67 65 6d 65 6e 74 20 77     "management w
01f0: 69 74 68 6f 75 74 20 77 61 73 74 69 6e 67 20 70  ithout wasting p
0200: 6f 69 6e 74 6c 65 73 73 20 68 6f 75 72 73 20 64  ointless hours d
0210: 65 62 75 67 67 69 6e 67 20 62 61 64 20 72 70 6d  ebugging bad rpm
0220: 20 73 70 65 63 73 21 22 0a 20 20 73 70 65 63 2e   specs!".  spec.
0230: 6c 69 63 65 6e 73 65 20 3d 20 22 4d 49 54 2d 6c  license = "MIT-l
0240: 69 6b 65 22 0a 0a 20 20 23 20 46 6f 72 20 70 61  ike"..  # For pa
0250: 72 73 69 6e 67 20 4a 53 4f 4e 20 28 72 65 71 75  rsing JSON (requ
0260: 69 72 65 64 20 66 6f 72 20 73 6f 6d 65 20 50 79  ired for some Py
0270: 74 68 6f 6e 20 73 75 70 70 6f 72 74 2c 20 65 74  thon support, et
0280: 63 29 0a 20 20 23 20 68 74 74 70 3a 2f 2f 66 6c  c).  # http://fl
0290: 6f 72 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 6a  ori.github.com/j
02a0: 73 6f 6e 2f 64 6f 63 2f 69 6e 64 65 78 2e 68 74  son/doc/index.ht
02b0: 6d 6c 0a 20 20 73 70 65 63 2e 61 64 64 5f 64 65  ml.  spec.add_de
02c0: 70 65 6e 64 65 6e 63 79 28 22 6a 73 6f 6e 22 2c  pendency("json",
02d0: 20 22 3e 3d 20 31 2e 37 2e 37 22 29 20 23 20 6c   ">= 1.7.7") # l
02e0: 69 63 65 6e 73 65 3a 20 52 75 62 79 20 4c 69 63  icense: Ruby Lic
02f0: 65 6e 73 65 0a 20 20 0a 20 20 23 20 46 6f 72 20  ense.  .  # For 
0300: 6c 6f 67 67 69 6e 67 0a 20 20 23 20 68 74 74 70  logging.  # http
0310: 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6a  s://github.com/j
0320: 6f 72 64 61 6e 73 69 73 73 65 6c 2f 72 75 62 79  ordansissel/ruby
0330: 2d 63 61 62 69 6e 0a 20 20 73 70 65 63 2e 61 64  -cabin.  spec.ad
0340: 64 5f 64 65 70 65 6e 64 65 6e 63 79 28 22 63 61  d_dependency("ca
0350: 62 69 6e 22 2c 20 22 3e 3d 20 30 2e 36 2e 30 22  bin", ">= 0.6.0"
0360: 29 20 23 20 6c 69 63 65 6e 73 65 3a 20 41 70 61  ) # license: Apa
0370: 63 68 65 20 32 20 0a 0a 20 20 23 20 46 6f 72 20  che 2 ..  # For 
0380: 62 61 63 6b 70 6f 72 74 73 20 74 6f 20 6f 6c 64  backports to old
0390: 65 72 20 72 75 62 69 65 73 0a 20 20 23 20 68 74  er rubies.  # ht
03a0: 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d  tps://github.com
03b0: 2f 6d 61 72 63 61 6e 64 72 65 2f 62 61 63 6b 70  /marcandre/backp
03c0: 6f 72 74 73 0a 20 20 73 70 65 63 2e 61 64 64 5f  orts.  spec.add_
03d0: 64 65 70 65 6e 64 65 6e 63 79 28 22 62 61 63 6b  dependency("back
03e0: 70 6f 72 74 73 22 2c 20 22 3e 3d 20 32 2e 36 2e  ports", ">= 2.6.
03f0: 32 22 29 20 23 20 6c 69 63 65 6e 73 65 3a 20 4d  2") # license: M
0400: 49 54 0a 0a 20 20 23 20 46 6f 72 20 72 65 61 64  IT..  # For read
0410: 69 6e 67 20 61 6e 64 20 77 72 69 74 69 6e 67 20  ing and writing 
0420: 72 70 6d 73 0a 20 20 73 70 65 63 2e 61 64 64 5f  rpms.  spec.add_
0430: 64 65 70 65 6e 64 65 6e 63 79 28 22 61 72 72 2d  dependency("arr-
0440: 70 6d 22 2c 20 22 7e 3e 20 30 2e 30 2e 39 22 29  pm", "~> 0.0.9")
0450: 20 23 20 6c 69 63 65 6e 73 65 3a 20 41 70 61 63   # license: Apac
0460: 68 65 20 32 0a 0a 20 20 23 20 46 6f 72 20 63 6f  he 2..  # For co
0470: 6d 6d 61 6e 64 2d 6c 69 6e 65 20 66 6c 61 67 20  mmand-line flag 
0480: 73 75 70 70 6f 72 74 0a 20 20 23 20 68 74 74 70  support.  # http
0490: 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d  s://github.com/m
04a0: 64 75 62 2f 63 6c 61 6d 70 2f 62 6c 6f 62 2f 6d  dub/clamp/blob/m
04b0: 61 73 74 65 72 2f 52 45 41 44 4d 45 2e 6d 61 72  aster/README.mar
04c0: 6b 64 6f 77 6e 0a 20 20 73 70 65 63 2e 61 64 64  kdown.  spec.add
04d0: 5f 64 65 70 65 6e 64 65 6e 63 79 28 22 63 6c 61  _dependency("cla
04e0: 6d 70 22 2c 20 22 7e 3e 20 30 2e 36 22 29 20 23  mp", "~> 0.6") #
04f0: 20 6c 69 63 65 6e 73 65 3a 20 4d 49 54 0a 0a 20   license: MIT.. 
0500: 20 23 20 46 6f 72 20 73 74 61 72 74 69 6e 67 20   # For starting 
0510: 65 78 74 65 72 6e 61 6c 20 70 72 6f 63 65 73 73  external process
0520: 65 73 20 61 63 72 6f 73 73 20 76 61 72 69 6f 75  es across variou
0530: 73 20 72 75 62 79 20 69 6e 74 65 72 70 72 65 74  s ruby interpret
0540: 65 72 73 0a 20 20 73 70 65 63 2e 61 64 64 5f 64  ers.  spec.add_d
0550: 65 70 65 6e 64 65 6e 63 79 28 22 63 68 69 6c 64  ependency("child
0560: 70 72 6f 63 65 73 73 22 29 20 23 20 6c 69 63 65  process") # lice
0570: 6e 73 65 3a 20 3f 3f 3f 0a 0a 20 20 23 20 46 6f  nse: ???..  # Fo
0580: 72 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69  r calling functi
0590: 6f 6e 73 20 69 6e 20 64 79 6e 61 6d 69 63 20 6c  ons in dynamic l
05a0: 69 62 72 61 72 69 65 73 0a 20 20 73 70 65 63 2e  ibraries.  spec.
05b0: 61 64 64 5f 64 65 70 65 6e 64 65 6e 63 79 28 22  add_dependency("
05c0: 66 66 69 22 29 20 23 20 6c 69 63 65 6e 73 65 3a  ffi") # license:
05d0: 20 47 50 4c 33 2f 4c 47 50 4c 33 0a 0a 20 20 73   GPL3/LGPL3..  s
05e0: 70 65 63 2e 61 64 64 5f 64 65 76 65 6c 6f 70 6d  pec.add_developm
05f0: 65 6e 74 5f 64 65 70 65 6e 64 65 6e 63 79 28 22  ent_dependency("
0600: 72 73 70 65 63 22 2c 20 22 7e 3e 20 33 2e 30 2e  rspec", "~> 3.0.
0610: 30 22 29 20 23 20 6c 69 63 65 6e 73 65 3a 20 4d  0") # license: M
0620: 49 54 20 28 61 63 63 6f 72 64 69 6e 67 20 74 6f  IT (according to
0630: 20 77 69 6b 69 70 65 64 69 61 29 0a 20 20 73 70   wikipedia).  sp
0640: 65 63 2e 61 64 64 5f 64 65 76 65 6c 6f 70 6d 65  ec.add_developme
0650: 6e 74 5f 64 65 70 65 6e 64 65 6e 63 79 28 22 69  nt_dependency("i
0660: 6e 73 69 73 74 22 2c 20 22 7e 3e 20 30 2e 30 2e  nsist", "~> 0.0.
0670: 35 22 29 20 23 20 6c 69 63 65 6e 73 65 3a 20 3f  5") # license: ?
0680: 3f 3f 0a 20 20 73 70 65 63 2e 61 64 64 5f 64 65  ??.  spec.add_de
0690: 76 65 6c 6f 70 6d 65 6e 74 5f 64 65 70 65 6e 64  velopment_depend
06a0: 65 6e 63 79 28 22 70 72 79 22 29 0a 20 20 73 70  ency("pry").  sp
06b0: 65 63 2e 61 64 64 5f 64 65 76 65 6c 6f 70 6d 65  ec.add_developme
06c0: 6e 74 5f 64 65 70 65 6e 64 65 6e 63 79 28 22 73  nt_dependency("s
06d0: 74 75 64 22 29 0a 0a 20 20 73 70 65 63 2e 66 69  tud")..  spec.fi
06e0: 6c 65 73 20 3d 20 66 69 6c 65 73 0a 20 20 73 70  les = files.  sp
06f0: 65 63 2e 72 65 71 75 69 72 65 5f 70 61 74 68 73  ec.require_paths
0700: 20 3c 3c 20 22 6c 69 62 22 0a 20 20 73 70 65 63   << "lib".  spec
0710: 2e 62 69 6e 64 69 72 20 3d 20 22 62 69 6e 22 0a  .bindir = "bin".
0720: 20 20 73 70 65 63 2e 65 78 65 63 75 74 61 62 6c    spec.executabl
0730: 65 73 20 3c 3c 20 22 78 70 6d 22 0a 0a 20 20 73  es << "xpm"..  s
0740: 70 65 63 2e 61 75 74 68 6f 72 20 3d 20 22 4d 61  pec.author = "Ma
0750: 72 69 6f 20 53 61 6c 7a 65 72 22 0a 20 20 73 70  rio Salzer".  sp
0760: 65 63 2e 65 6d 61 69 6c 20 3d 20 22 6d 61 72 69  ec.email = "mari
0770: 6f 23 69 6e 63 6c 75 64 65 2d 6f 6e 63 65 3a 6f  o#include-once:o
0780: 72 67 22 0a 20 20 73 70 65 63 2e 68 6f 6d 65 70  rg".  spec.homep
0790: 61 67 65 20 3d 20 22 68 74 74 70 3a 2f 2f 66 6f  age = "http://fo
07a0: 73 73 69 6c 2e 69 6e 63 6c 75 64 65 2d 6f 6e 63  ssil.include-onc
07b0: 65 2e 6f 72 67 2f 78 70 6d 2f 22 0a 65 6e 64 0a  e.org/xpm/".end.
07c0: 0a                                               .