summarylogtreecommitdiffstats
path: root/build_pkgbuilds.rb
blob: 641a5e77de7b029b2f25f000bb39cd7c3010f1a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
require "erb"
require "pathname"
require "fileutils"

include FileUtils

VERSION = "0.6.0.0"
PACKAGES = [
  {
    db: "mysql",
    db_service: "mariadb.service",
    git: false,
    additional_description: "(MySQL)",
    additional_depends: "'libmariadbclient'",
    additional_optdepends: "'mariadb: Database server'",
    source: "diaspora-${pkgver}.tar.gz::https://github.com/diaspora/diaspora/archive/v${pkgver}.tar.gz",
    source_dir: "diaspora-#{VERSION}"
  },
  {
    db: "postgresql",
    db_service: "postgresql.service",
    git: false,
    additional_description: "(PostgreSQL)",
    additional_depends: "'postgresql-libs'",
    additional_optdepends: "'postgresql: Database server'",
    source: "diaspora-${pkgver}.tar.gz::https://github.com/diaspora/diaspora/archive/v${pkgver}.tar.gz",
    source_dir: "diaspora-#{VERSION}"
  },
  {
    db: "mysql",
    db_service: "mariadb.service",
    git: true,
    additional_description: "(development head) (MySQL)",
    additional_depends: "'libmariadbclient'",
    additional_optdepends: "'mariadb: Database server'",
    source: "git+https://github.com/diaspora/diaspora.git#branch=develop",
    source_dir: "diaspora"
  },
  {
    db: "postgresql",
    db_service: "postgresql.service",
    git: true,
    additional_description: "(development head) (PostgreSQL)",
    additional_depends: "'postgresql-libs'",
    additional_optdepends: "'postgresql: Database server'",
    source: "git+https://github.com/diaspora/diaspora.git#branch=develop",
    source_dir: "diaspora"
  }
]

def render_pkgbuild(package)
  db, git, additional_description, additional_depends, additional_optdepends, source, source_dir =
    package.values_at(:db, :git, :additional_description, :additional_depends, :additional_optdepends, :source, :source_dir)
  version = VERSION
  package_name = "diaspora-#{db}#{"-git" if git}"

  ERB.new(File.read("PKGBUILD.erb")).result(binding)
end

def render_service(package)
  db = package[:db_service]

  ERB.new(File.read("diaspora.service.erb")).result(binding)
end


PACKAGES.each do |package|
  package_name = "diaspora-#{package[:db]}#{"-git" if package[:git]}"
  root_path = Pathname.new("..").expand_path.join(package_name)
  File.write root_path.join("PKGBUILD"), render_pkgbuild(package)
  File.write root_path.join("diaspora.service"), render_service(package)
  cp "diaspora.install", root_path.join("diaspora.install")
  cp "diaspora.bash_profile", root_path.join("diaspora.bash_profile")
  cp "diaspora.bashrc", root_path.join("diaspora.bashrc")
  cp "diaspora.tmpfiles.d.conf", root_path.join("diaspora.tmpfiles.d.conf")
  Dir.chdir(root_path) do
    system "updpkgsums"
    system "makepkg -sfc"
    system "mksrcinfo"
    system "git add ."
  end
end