repomate 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/repomate +65 -0
- data/etc/config.yml +18 -0
- data/lib/repomate/architecture.rb +105 -0
- data/lib/repomate/base.rb +335 -0
- data/lib/repomate/category.rb +60 -0
- data/lib/repomate/cli.rb +123 -0
- data/lib/repomate/component.rb +102 -0
- data/lib/repomate/configuration.rb +75 -0
- data/lib/repomate/database.rb +30 -0
- data/lib/repomate/metafile.rb +137 -0
- data/lib/repomate/package.rb +116 -0
- data/lib/repomate/repository.rb +49 -0
- data/lib/repomate/suite.rb +96 -0
- data/lib/repomate/templates/archrelease.erb +6 -0
- data/lib/repomate/templates/packages.erb +6 -0
- data/lib/repomate/templates/suiterelease.erb +41 -0
- data/lib/repomate.rb +14 -0
- metadata +152 -0
metadata
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: repomate
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Florian Speidel
|
9
|
+
- Michael Ehrenreich
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2012-05-11 00:00:00.000000000Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: slop
|
17
|
+
requirement: &70364475911480 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ~>
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.0.4
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *70364475911480
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: gpgme
|
28
|
+
requirement: &70364475910880 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.0.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *70364475910880
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: sqlite3
|
39
|
+
requirement: &70364475910280 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 1.3.6
|
45
|
+
type: :runtime
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *70364475910280
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: colors
|
50
|
+
requirement: &70364475909740 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 0.0.6
|
56
|
+
type: :runtime
|
57
|
+
prerelease: false
|
58
|
+
version_requirements: *70364475909740
|
59
|
+
description: ! "# RepoMate\n\nTool to manage debian repositories.\n\n## This project
|
60
|
+
is really new and not completely tested. Use it at your own risk.\n\n\n## The idea\n\nThe
|
61
|
+
idea was to create a small, leightweight and easy to use debian repository management
|
62
|
+
tool that provides a staging area for jenkins package builds using fpm-cookery,
|
63
|
+
basic gpg support and some custom features.\n\nEvery destructive action can be reverted.\n\nIt's
|
64
|
+
roughly not finished yet!\n\n### Package lifecycle\n\nAs mentioned before, RepoMate
|
65
|
+
has a staging area. Every package you are trying to add through the commandline
|
66
|
+
interface will be copied to the staging area. This action will not affect your production
|
67
|
+
pool.\nYou have to publish a package or a set of packages to bring them into production.
|
68
|
+
When you do, the selected packages will be moved from \"stage\" to \"pool\" (This
|
69
|
+
is like an archive) and linked from the \"pool\" to \"dists\".\nNote that \"dists\"\"
|
70
|
+
normally contains just all the metafiles like Packages or Packages.gz.\nWe like
|
71
|
+
to have all what apt needs in just one directory.\n\nnewpackage -> (add) -> stage
|
72
|
+
-> (publish) -> production\n\n\n## Features\n\n### Checkpoints\n\nCheckpoints may
|
73
|
+
help if you accidently published a bunch of packages to the wrong suite (lenny,
|
74
|
+
squeeze,…) or component (main, contrib, non-free,…).\n\nIf you did:\n\n sbin/repomate
|
75
|
+
load\n\nChoose the last checkpoint and be happy again.\n\nNote that checkpoints
|
76
|
+
will be auto-saved before each publish sequence.\n\n## Installation\n\n### Repository
|
77
|
+
server\n\ndpkg is used to compare package versions. I tried to do it on my own,
|
78
|
+
but debian uses very annoying version strings with a couple of variants.\n\nPlease
|
79
|
+
make sure you have the following packages installed:\n\n* ruby\n* dpkg\n* libsqlite3-dev\n\n####
|
80
|
+
Get RepoMate\n \n cd /opt\n git clone git@github.com:floriansp/repomate.git\n
|
81
|
+
\ \n gem install bundler\n bundle install\n \n#### Configure RepoMate\n\nGPG
|
82
|
+
ist enabled by default. If you don't want it, just set the value of gpg_enable to
|
83
|
+
\"no\" otherwise generate a gpg key and add the needed values to the configfile.\n\nCreate
|
84
|
+
the config file if you don't want the default configuration.\n \n vi ~/.repomate.yml\n
|
85
|
+
\ \nSample config:\n \n ---\n :rootdir: /var/lib/repomate/repository\n
|
86
|
+
\ :logdir: /var/log/repomate\n :redolog: redo.log\n :database: repomate.db\n
|
87
|
+
\ :dpkg: /usr/bin/dpkg\n :suites:\n - lenny\n - squeeze\n :components:\n
|
88
|
+
\ - main\n - contrib\n :architectures:\n - all\n -
|
89
|
+
amd64\n :origin: Repository\n :label: Repository\n :gpg_enable: yes\n :gpg_email:
|
90
|
+
someone@example.net\n :gpg_password: secret\n \n \n#### Configure webserver\n\nConfigure
|
91
|
+
your favorite webserver by adding RepoMate's rootdirectory to a site or vhost.\n\n####
|
92
|
+
Adding packages\n\n sbin/repomate add -s squeeze package.deb\n sbin/repomate
|
93
|
+
publish\n\n\n### Client\n\nAdd something like this to your machines /etc/apt/sources.list:\n
|
94
|
+
\ \n deb [arch=all,amd64] http://server/repository squeeze main \n \n\n###
|
95
|
+
Examples\n\nSetup base directory structure (optional):\n\n repomate setup -s
|
96
|
+
squeeze [ -c main ]\n\nAdd a package to the staging area:\n\n repomate add -s
|
97
|
+
squeeze <path_to_packagefile>\n\nPublish all packages from the staging area. That
|
98
|
+
means they will be linked to production:\n\n repomate publish\n\nLoad a checkpoint:\n\n
|
99
|
+
\ repomate load\n\nSave a checkpoint:\n\n repomate save\n\nList all packages
|
100
|
+
in pool:\n\n repomate listpackages -r pool\n\nList all packages in stage:\n\n
|
101
|
+
\ repomate listpackages -r stage\n"
|
102
|
+
email:
|
103
|
+
- flo@doobie.cc
|
104
|
+
- michael.ehrenreich@me.com
|
105
|
+
executables:
|
106
|
+
- repomate
|
107
|
+
extensions: []
|
108
|
+
extra_rdoc_files: []
|
109
|
+
files:
|
110
|
+
- bin/repomate
|
111
|
+
- etc/config.yml
|
112
|
+
- lib/repomate/architecture.rb
|
113
|
+
- lib/repomate/base.rb
|
114
|
+
- lib/repomate/category.rb
|
115
|
+
- lib/repomate/cli.rb
|
116
|
+
- lib/repomate/component.rb
|
117
|
+
- lib/repomate/configuration.rb
|
118
|
+
- lib/repomate/database.rb
|
119
|
+
- lib/repomate/metafile.rb
|
120
|
+
- lib/repomate/package.rb
|
121
|
+
- lib/repomate/repository.rb
|
122
|
+
- lib/repomate/suite.rb
|
123
|
+
- lib/repomate/templates/archrelease.erb
|
124
|
+
- lib/repomate/templates/packages.erb
|
125
|
+
- lib/repomate/templates/suiterelease.erb
|
126
|
+
- lib/repomate.rb
|
127
|
+
homepage: https://github.com/floriansp/repomate
|
128
|
+
licenses:
|
129
|
+
- MIT
|
130
|
+
post_install_message:
|
131
|
+
rdoc_options: []
|
132
|
+
require_paths:
|
133
|
+
- lib
|
134
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
135
|
+
none: false
|
136
|
+
requirements:
|
137
|
+
- - ! '>'
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '1.9'
|
140
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
|
+
none: false
|
142
|
+
requirements:
|
143
|
+
- - ! '>='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
requirements: []
|
147
|
+
rubyforge_project:
|
148
|
+
rubygems_version: 1.8.6
|
149
|
+
signing_key:
|
150
|
+
specification_version: 3
|
151
|
+
summary: A tool to manage Debian repositories
|
152
|
+
test_files: []
|