blob: f53b375f3429c0d2cf81403e5a21d7176ed11c95 (
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
|
Ruby packaging
==============
See [this](https://wiki.debian.org/Teams/Ruby/Packaging).
Example: packaging leap_cli and dependencies
--------------------------------------------
First, in a *fresh* vagrant box:
sudo apt-get install rubygems gem2deb
sudo gem install leap_cli
Then we get the dependencies and build all packages:
dependencies=" `gem list | cut -d '(' -f 1` "
Gem cleanup:
sudo gem uninstall $dependencies
Check existing dependencies:
for item in $dependencies; do
package=ruby-"`echo $item | sed -e 's/_/-/'`"
if apt-cache search $package &> /dev/null; then
packages="$packages $package"
dependencies=$(echo $dependencies | sed -e "s/ $package //")
sudo apt-get install $package
fi
done
Build remaining packages:
for gem in $dependencies; do
gem2deb $gem
done
Report:
echo "Existing debian dependencies: $packages"
echo "New packages : $dependencies"
Test:
sudo dpkg -i *deb
Deb cleanup:
sudo dpkg -r $dependencies
Additional steps:
* Backport existing dependencies if needed.
* Fix `debian/control` and other FIXME's on each package.
* Put `debian/` folder in a `debian` branch on each source.
* [Review the code](https://manual.sarava.org/specs/code/).
* Automate building with pbuilder.
* Upstream pull requests.
|