Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.package
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jérome Perrin
slapos.package
Commits
d4427618
Commit
d4427618
authored
Dec 26, 2014
by
Rafael Monnerat
👻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
obs: Introduce package build for Re6stnet
parent
d81d51ee
Changes
27
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
937 additions
and
5 deletions
+937
-5
.gitignore
.gitignore
+3
-2
obs/re6st/README
obs/re6st/README
+11
-0
obs/re6st/prepare_re6st_build.sh
obs/re6st/prepare_re6st_build.sh
+109
-0
obs/re6st/re6st-node/Makefile
obs/re6st/re6st-node/Makefile
+21
-0
obs/re6st/re6st-node/daemon/README.conf
obs/re6st/re6st-node/daemon/README.conf
+10
-0
obs/re6st/re6st-node/daemon/logrotate.conf
obs/re6st/re6st-node/daemon/logrotate.conf
+9
-0
obs/re6st/re6st-node/daemon/network-manager
obs/re6st/re6st-node/daemon/network-manager
+61
-0
obs/re6st/re6st-node/daemon/re6st-registry.service
obs/re6st/re6st-node/daemon/re6st-registry.service
+11
-0
obs/re6st/re6st-node/daemon/re6stnet.service
obs/re6st/re6st-node/daemon/re6stnet.service
+13
-0
obs/re6st/re6st-node/re6stnet/buildout.cfg.in
obs/re6st/re6st-node/re6stnet/buildout.cfg.in
+61
-0
obs/re6st/templates/Makefile.in
obs/re6st/templates/Makefile.in
+155
-0
obs/re6st/templates/PKGBUILD.in
obs/re6st/templates/PKGBUILD.in
+23
-0
obs/re6st/templates/debian/changelog
obs/re6st/templates/debian/changelog
+5
-0
obs/re6st/templates/debian/compat
obs/re6st/templates/debian/compat
+1
-0
obs/re6st/templates/debian/control
obs/re6st/templates/debian/control
+13
-0
obs/re6st/templates/debian/copyright
obs/re6st/templates/debian/copyright
+20
-0
obs/re6st/templates/debian/postrm
obs/re6st/templates/debian/postrm
+10
-0
obs/re6st/templates/debian/re6stnet.init
obs/re6st/templates/debian/re6stnet.init
+123
-0
obs/re6st/templates/debian/rules
obs/re6st/templates/debian/rules
+86
-0
obs/re6st/templates/debian/source/format
obs/re6st/templates/debian/source/format
+1
-0
obs/re6st/templates/offline.sh.in
obs/re6st/templates/offline.sh.in
+72
-0
obs/re6st/templates/re6stnet.dsc.in
obs/re6st/templates/re6stnet.dsc.in
+12
-0
obs/re6st/templates/re6stnet.install
obs/re6st/templates/re6stnet.install
+35
-0
obs/re6st/templates/re6stnet.spec.in
obs/re6st/templates/re6stnet.spec.in
+56
-0
obs/slapos/prepare_slapos_build.sh
obs/slapos/prepare_slapos_build.sh
+2
-2
obs/slapos/slapos-node/slapos/buildout.cfg.in
obs/slapos/slapos-node/slapos/buildout.cfg.in
+2
-1
obs/slapos/templates/debian/changelog
obs/slapos/templates/debian/changelog
+12
-0
No files found.
.gitignore
View file @
d4427618
obs/
slapos
/home:VIFIBnexedi*
obs/
*
/home:VIFIBnexedi*
obs/slapos/slapos-node_*
obs/slapos/slapos-recipe-version
obs/slapos/slapos-version
obs/slapos/templates/debian.tar.gz
obs/re6st/re6st-node_*
obs/*/templates/debian.tar.gz
obs/slapos/templates/debian/cron.d
obs/slapos/templates/debian/slapos-node.logrotate
debian-preseed/*.iso
...
...
obs/re6st/README
0 → 100644
View file @
d4427618
preparing the package
---------------------
First make sure all files are ready and you have all necessary packages installed.
You need in particular an OBS directory (for example, the vifib test directory)::
$ cd <directory_to_contain_prepare_script>
$ osc checkout home:VIFIBnexedi:branches:home:VIFIBnexedi/Re6stnet
$ cd home:VIFIBnexedi:branches:home:VIFIBnexedi/Re6stnet
$ osc up
obs/re6st/prepare_re6st_build.sh
0 → 100644
View file @
d4427618
#!/bin/sh -e
# Edit for release
VERSION
=
0.426
# Edit for release
RECIPE_VERSION
=
0.265
# Edit for release
RELEASE
=
2
GITHASH
=
1ddbb2be20b224e7618bd7904bf846fd947b8b16
CURRENT_DIRECTORY
=
"
$(
pwd
)
"
# Define URL to compile
BUILDOUT_URL
=
http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/tags/slapos-
$RECIPE_VERSION
:/component/re6stnet/buildout.cfg
OBS_DIRECTORY
=
$CURRENT_DIRECTORY
/home:VIFIBnexedi/Re6stnet
# Development Section [Uncomment for use]
OBS_DIRECTORY
=
$CURRENT_DIRECTORY
/home:VIFIBnexedi:branches:home:VIFIBnexedi/Re6stnet
BUILDOUT_URL
=
http://git.erp5.org/gitweb/slapos.git/blob_plain/
$GITHASH
:/component/re6stnet/buildout.cfg
VERSION_REGEX
=
"s!
\%
BUILDOUT_URL
\%
!
$BUILDOUT_URL
!g;s/
\%
RECIPE_VERSION
\%
/
$RECIPE_VERSION
/g;s/
\%
VERSION
\%
/
$VERSION
/g;s/
\%
RELEASE
\%
/
$RELEASE
/g"
TEMPLATES_DIRECTORY
=
$CURRENT_DIRECTORY
/templates
RE6ST_ORGINAL_DIRECTORY
=
re6st-node
RE6ST_DIRECTORY
=
re6st-node_
$VERSION
+
$RECIPE_VERSION
+
$RELEASE
function
prepare_template_files
{
# Prepare directory for new version if needed
mkdir
-p
$CURRENT_DIRECTORY
/
$RE6ST_DIRECTORY
cp
-rf
$CURRENT_DIRECTORY
/
$RE6ST_ORGINAL_DIRECTORY
/
*
$CURRENT_DIRECTORY
/
$RE6ST_DIRECTORY
sed
$VERSION_REGEX
$TEMPLATES_DIRECTORY
/Makefile.in
>
$CURRENT_DIRECTORY
/
$RE6ST_DIRECTORY
/re6stnet/Makefile
sed
$VERSION_REGEX
$TEMPLATES_DIRECTORY
/offline.sh.in
>
$CURRENT_DIRECTORY
/
$RE6ST_DIRECTORY
/re6stnet/offline.sh
}
function
prepare_download_cache
{
cd
$CURRENT_DIRECTORY
/
$RE6ST_DIRECTORY
/re6stnet/
rm
-rf
build/
bash offline.sh
||
(
echo
"Impossible to build Re6stnet, exiting."
&&
exit
1
)
# Go back to starting point
cd
$CURRENT_DIRECTORY
}
function
prepare_tarball
{
tar
-czf
$RE6ST_DIRECTORY
.tar.gz
$RE6ST_DIRECTORY
}
function
prepare_deb_packaging
{
# Add entry to changelog
cd
$TEMPLATES_DIRECTORY
/debian
#dch -pm -v $VERSION+$RECIPE_VERSION+$RELEASE --check-dirname-level=0 "New version of re6st ($VERSION+$RECIPE_VERSION+$RELEASE)"
# Add cron and logrotate files
cd
$TEMPLATES_DIRECTORY
tar
-czf
debian.tar.gz debian
cd
$OBS_DIRECTORY
cp
$TEMPLATES_DIRECTORY
/debian.tar.gz
.
}
function
obs_upload
{
cd
$OBS_DIRECTORY
# Update directory
osc up
# Remove former configuration
osc
rm
-f
$RE6ST_ORGINAL_DIRECTORY
*
.tar.gz
osc
rm
-f
re6stnet.spec
# Prepare new tarball
cp
$CURRENT_DIRECTORY
/
$RE6ST_DIRECTORY
.tar.gz
.
osc add
$RE6ST_DIRECTORY
.tar.gz
# Prepare new specfile
sed
$VERSION_REGEX
$TEMPLATES_DIRECTORY
/re6stnet.spec.in
>
re6stnet.spec
osc add re6stnet.spec
# Prepare new .dsc file
osc
rm
-f
re6st
*
.dsc
sed
$VERSION_REGEX
$TEMPLATES_DIRECTORY
/re6stnet.dsc.in
>
$RE6ST_DIRECTORY
.dsc
osc add
$RE6ST_DIRECTORY
.dsc
osc
rm
-f
PKGBUILD
SOURCEMD5
=
`
md5sum
$RE6ST_DIRECTORY
.tar.gz |
cut
-d
\
-f1
`
sed
"
$VERSION_REGEX
;s/
\%
SOURCEMD5
\%
/
$SOURCEMD5
/g"
$TEMPLATES_DIRECTORY
/PKGBUILD.in
>
PKGBUILD
cp
$TEMPLATES_DIRECTORY
/re6stnet.install
.
osc add PKGBUILD re6stnet.install
## Upload new Package
osc commit
-m
"New Re6stnet Recipe
$RECIPE_VERSION
"
}
prepare_template_files
prepare_download_cache
prepare_tarball
prepare_deb_packaging
obs_upload
obs/re6st/re6st-node/Makefile
0 → 100644
View file @
d4427618
#!/usr/bin/make -f
# -*- makefile -*-
build
:
cd
re6stnet
;
make build
all
:
build
install
:
all
cd
re6stnet
;
make
install
mkdir
-p
$(DESTDIR)
/usr/bin/
mkdir
-p
$(DESTDIR)
/usr/sbin/
cp
$(DESTDIR)
/opt/re6st/bin/re6st
*
$(DESTDIR)
/usr/bin/
mkdir
-p
$(DESTDIR)
/var/lib/re6stnet
mkdir
-p
$(DESTDIR)
/var/log/re6stnet
mkdir
-p
$(DESTDIR)
/etc/re6stnet
install
-Dpm
0644 daemon/README.conf
$(DESTDIR)
/etc/re6stnet/README
install
-Dp
daemon/network-manager
$(DESTDIR)
/etc/NetworkManager/dispatcher.d/50re6stnet
clean
:
# cd slapos; make clean
obs/re6st/re6st-node/daemon/README.conf
0 → 100644
View file @
d4427618
re6stnet
configuration
files
re6stnet
is
started
automatically
if
/
etc
/
re6stnet
contains
a
're6stnet.conf'
file
with
all
parameters
to
pass
to
the
daemon
.
Same
for
the
registry
:
all
parameters
must
be
specified
in
're6st-registry.conf'
So
for
a
normal
node
,
you
should
have
the
following
files
:
re6stnet
.
conf
ca
.
crt
cert
.
crt
cert
.
key
dh2048
.
pem
And
if
you
also
host
the
registry
:
re6st
-
registry
.
conf
ca
.
key
obs/re6st/re6st-node/daemon/logrotate.conf
0 → 100644
View file @
d4427618
/
var
/
log
/
re6stnet
/
babeld
.
log
{
compress
delaycompress
missingok
notifempty
postrotate
[ -
r
/
var
/
run
/
re6st
-
babeld
.
pid
] &&
kill
-
USR2
$(
cat
/
var
/
run
/
re6st
-
babeld
.
pid
)
endscript
}
obs/re6st/re6st-node/daemon/network-manager
0 → 100755
View file @
d4427618
#!/usr/bin/python -S
import
errno
,
glob
,
os
,
signal
,
socket
,
subprocess
,
sys
,
time
DAEMON
=
"re6stnet"
CONFDIR
=
"/etc/re6stnet"
os
.
environ
[
"PATH"
]
=
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
iface
=
sys
.
argv
[
1
]
action
=
sys
.
argv
[
2
]
lock_name
=
DAEMON
+
':'
+
iface
if
action
in
(
"up"
,
"vpn-up"
):
os
.
chdir
(
CONFDIR
)
if
os
.
path
.
exists
(
"re6stnet.conf"
)
and
not
subprocess
.
call
(
(
DAEMON
,
"@re6stnet.conf"
,
"--test"
,
"main_interface != %r"
%
iface
)):
s
=
socket
.
socket
(
socket
.
AF_UNIX
,
socket
.
SOCK_DGRAM
)
try
:
s
.
bind
(
'
\
0
'
+
lock_name
)
except
socket
.
error
,
e
:
if
e
[
0
]
!=
errno
.
EADDRINUSE
:
raise
sys
.
stderr
.
write
(
"daemon already started
\
n
"
)
sys
.
exit
()
if
not
os
.
fork
():
os
.
setsid
()
os
.
execlp
(
DAEMON
,
DAEMON
,
"@re6stnet.conf"
)
elif
action
in
(
"down"
,
"vpn-down"
):
pattern
=
" @%s
\
n
"
%
lock_name
with
open
(
"/proc/net/unix"
)
as
f
:
for
line
in
f
:
if
line
.
endswith
(
pattern
):
sock_path
=
"socket:[%s]"
%
line
.
split
()[
-
2
]
break
else
:
sys
.
exit
()
pattern
=
"(%s)"
%
DAEMON
for
path
in
glob
.
glob
(
"/proc/*/stat"
):
try
:
pid
=
int
(
path
[
6
:
-
5
])
with
open
(
path
)
as
f
:
stat
=
f
.
read
().
split
()
if
stat
[
1
]
==
pattern
and
sock_path
in
(
os
.
readlink
(
path
)
for
path
in
glob
.
glob
(
path
[:
-
4
]
+
"fd/*"
)):
break
except
(
EnvironmentError
,
ValueError
):
pass
else
:
sys
.
exit
()
try
:
os
.
kill
(
pid
,
signal
.
SIGTERM
)
sleep
=
.
1
while
sleep
<
5
:
time
.
sleep
(
sleep
)
os
.
kill
(
pid
,
0
)
sleep
*=
1.5
# we waited for about 11 seconds
os
.
kill
(
-
int
(
stat
[
4
]),
signal
.
SIGKILL
)
except
OSError
,
e
:
if
e
.
errno
!=
errno
.
ESRCH
:
raise
obs/re6st/re6st-node/daemon/re6st-registry.service
0 → 100644
View file @
d4427618
[Unit]
Description=Server application for re6snet
ConditionPathExists=/etc/re6stnet/re6st-registry.conf
[Service]
WorkingDirectory=/etc/re6stnet
ExecStart=/usr/bin/env re6st-registry @re6st-registry.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target
obs/re6st/re6st-node/daemon/re6stnet.service
0 → 100644
View file @
d4427618
[Unit]
Description=Resilient, Scalable, IPv6 Network application
ConditionPathExists=/etc/re6stnet/re6stnet.conf
[Service]
WorkingDirectory=/etc/re6stnet
# systemd plans to "introduce ExecCondition= in services" (cf its TODO file)
ExecStart=/bin/sh -c 'set re6stnet @re6stnet.conf; "$@" --test main_interface==\"lo\" || exec "$@"'
Restart=on-failure
StandardOutput=null
[Install]
WantedBy=multi-user.target
obs/re6st/re6st-node/re6stnet/buildout.cfg.in
0 → 100644
View file @
d4427618
[buildout]
extends =
%BUILDOUT_URL%
# Don't load extensions
extensions =
extends-cache = extends-cache
download-cache = download-cache
develop =
parts =
babeld
re6stnet
# Uguu, upstream buildout.cfg must be patched as it works the other way
# around from a packager point of view at least, thus at the end static
# path, such as Python HOME directory, are wrong...
#
# Currently:
# ./configure --prefix=BUILD_DIRECTORY && make install
# Instead of:
# ./configure --prefix=INSTALL_DIRECTORY && make install DESTDIR=BUILD_DIRECTORY
[python2.7]
configure-options +=
--prefix=%TARGET_DIRECTORY%/parts/${:_buildout_section_name_}
environment +=
DESTDIR=%BUILD_ROOT_DIRECTORY%
[gettext]
# Add gettext library path to RPATH as its binaries are used to build
# glib for example
environment =
PATH=${perl:location}/bin:${lunzip:location}/bin:%(PATH)s
CPPFLAGS=-I${libxml2:location}/include -I${zlib:location}/include -I${ncurses:location}/include
LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=%BUILD_DIRECTORY%/parts/${:_buildout_section_name_}/lib
[bison]
configure-options +=
--prefix=%TARGET_DIRECTORY%/parts/${:_buildout_section_name_}
make-options +=
DESTDIR=%BUILD_ROOT_DIRECTORY%
[python-cryptography-prep]
recipe = zc.recipe.egg
eggs =
${python-cffi:egg}
enum34
pycparser
six
pyasn1
[re6stnet]
entry-points =
re6stnet=re6st.re6stnet:main
re6st-conf=re6st.re6stconf:main
re6st-registry=re6st.re6stregistry:main
[versions]
re6stnet = 0.426
obs/re6st/templates/Makefile.in
0 → 100755
View file @
d4427618
#!/usr/bin/make -f
# -*- makefile -*-
VERSION
=
%VERSION%
RECIPE_VERSION
=
%RECIPE_VERSION%
PY
=
$(PYTHON)
INSTALL_DIRECTORY
=
$(DESTDIR)
/opt/re6st
TARGET_DIRECTORY
=
/opt/re6st
BUILD_ROOT_DIRECTORY
:=
$(
shell
pwd
)
/build
BUILD_DIRECTORY
:=
$(BUILD_ROOT_DIRECTORY)$(TARGET_DIRECTORY)
PATCHES_DIRECTORY
:=
$(
shell
pwd
)
/patches
#Use to get path of buildout correct
ORIGINAL_DIRECTORY
:=
$(
shell
cat
./original_directory
)
BOOTSTRAP_URL
:=
'http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py?rev=127518'
build
:
build-stamp
build-stamp
:
@echo
"Fixing buildout path to $(BUILD_ROOT_DIRECTORY) rather than $(ORIGINAL_DIRECTORY) for buildout"
grep
-rIl
'$(ORIGINAL_DIRECTORY)'
$(BUILD_ROOT_DIRECTORY)
2>
/dev/null
|
\
xargs
sed
-i
's#$(ORIGINAL_DIRECTORY)#$(BUILD_ROOT_DIRECTORY)#g'
||
\
echo
"No path to fix."
@echo 'Preparing source tarball (recipe version
:
$(RECIPE_VERSION))'
cd
$(BUILD_DIRECTORY)
&&
\
$(PY)
./bin/buildout
-v
@touch
build-stamp
cleanup-build
:
cleanup-build-stamp
cleanup-build-stamp
:
build
@
echo
"Deleting unecessary files to reduce source tarball size"
# TODO: Figure out why there is no write permission even for
# the owner
chmod
-R
u+w
$(BUILD_DIRECTORY)
# Buildout files
rm
-rfv
$(BUILD_DIRECTORY)/downloads
rm
-fv
$(BUILD_DIRECTORY)/bootstrap.py
$(BUILD_DIRECTORY)/buildout.cfg
\
$(BUILD_DIRECTORY)/bin/buildout
$(BUILD_DIRECTORY)/.installed.cfg
\
$(BUILD_DIRECTORY)/environment.*
rm
-rfv
$(BUILD_DIRECTORY)/parts/*-patch-download/
\
$(BUILD_DIRECTORY)/parts/*-hooks-download/
rm
-rfv
$(BUILD_DIRECTORY)/extends-cache/
\
$(BUILD_DIRECTORY)/download-cache/
# Removing locales, terminfo and base_completion.d directories
find
$(BUILD_DIRECTORY)
-type
d
\
\(
-name
locale
-o
-name
terminfo
-o
-name
bash_completion.d
\)
\
-prune
-exec
rm
-rfv
'{}'
';'
rm
-rf
$(BUILD_DIRECTORY)/parts/glib/share/glib-2.0/gdb/
\
$(BUILD_DIRECTORY)/parts/glib/share/gdb
rm
-rf
$(BUILD_DIRECTORY)/parts/ncurses/lib/terminfo
# Removing gettext archive tarball containing all versions
rm
-fv
$(BUILD_DIRECTORY)/parts/gettext/share/gettext/archive.dir.tar.gz
# Removing documentations
find
$(BUILD_DIRECTORY)/parts
-regextype
posix-extended
-type
d
\
-iregex
'.*/(gtk-)?(doc[s]?|man|info|test[s]?)$$'
\
-prune
-exec
rm
-rfv
'{}'
';'
find
$(BUILD_DIRECTORY)
-regextype
posix-extended
-type
f
\
-iregex
'.*(COPYING|LICENSE).*'
-exec
rm
-f
'{}'
';'
# Removing include directories
find
$(BUILD_DIRECTORY)
-type
d
\(
-name
include
-o -name pkgconfig \) | \
grep
-v
python
|
xargs
rm
-rfv
find
$(BUILD_DIRECTORY)
-type
f
-executable
-name
'*-config'
|
\
grep
-v
python
|
xargs
rm
-fv
# Removing Python byte-compiled files (as it will be done upon
# package installation) and static libraries
find
$(BUILD_DIRECTORY)
-regextype
posix-extended
-type
f
\
-iregex
'.*/*\.(py[co]|[l]?a|exe|bat)$$'
-exec
rm
-fv
'{}'
';'
# Removing empty directories
find
$(BUILD_DIRECTORY)
-type
d
-empty
-prune
-exec
rmdir
'{}'
';'
@touch
cleanup-build-stamp
strip-binaries
:
strip-binaries-stamp
strip-binaries-stamp
:
build
set
-e
;
\
for
f
in
`
find
$(BUILD_DIRECTORY)
-type
f
-executable
!
-name
'*.so*'
`
;
do
\
if
file
$$
f |
grep
-Eq
'.*ELF.*(executable|shared).*'
;
then
\
echo
"Stripping executable
$$
f"
;
\
strip
--remove-section
=
.comment
--remove-section
=
.note
$$
f
;
\
fi
;
\
done
set
-e;
\
for
f
in
`find
$(BUILD_DIRECTORY)
-type
f
-name
'*.so*'
`;
do
\
if
file
$$f
|
grep
-Eq
'.*ELF.*shared.*'
;
then
\
echo
"Stripping shared library $$f"
;
\
strip
--remove-section
=
.comment
--strip-unneeded
\
--remove-section
=
.note
$$
f
;
\
fi
;
\
done
@touch
strip-binaries-stamp
all
:
all-stamp
all-stamp
:
build cleanup-build strip-binaries
@
touch
all-stamp
install
:
all
mkdir
-p
$(INSTALL_DIRECTORY)
cp
-r
$(BUILD_DIRECTORY)
/
*
$(INSTALL_DIRECTORY)
set
-e;
\
for
l
in
`find
$(INSTALL_DIRECTORY)
-type
l
-lname
'$(BUILD_DIRECTORY)/*'
`;
do
\
echo
"Fixing symlink $$l"
;
\
base_directory
=
`
echo
$$
l|sed
's#^
$(INSTALL_DIRECTORY)
/\(.*/\).*#\1#'
|sed
-r
's#[^/]+#..#g'
`
;
\
cd
`
dirname
$$
l
`
&&
\
ln
-sf
`
readlink
$$
l |
sed
"s#
$(BUILD_DIRECTORY)
#
$$
base_directory#"
`
\
`
basename
$$
l
`
;
\
done
@echo
"Removing shebang from Python files not in bin/"
for
f
in
`grep
--exclude-dir
=
'bin'
--include
=
'*.py'
-rIl
'^#!'
$(INSTALL_DIRECTORY)
2> /dev/null
`
;
do
\
chmod
-x
$$
f
&&
sed
-i
'1d'
$$
f
;
\
done
@echo
"Fixing path to $(TARGET_DIRECTORY) rather than $(BUILD_DIRECTORY)"
grep
-rIl
'$(BUILD_DIRECTORY)'
$(INSTALL_DIRECTORY)
2>
/dev/null
|
\
xargs
sed
-i
's#$(BUILD_DIRECTORY)#$(TARGET_DIRECTORY)#g'
||
\
echo
"No path to fix."
set
-e;
\
for
f
in
`find
$(INSTALL_DIRECTORY)
\(
-type
f
-o
-type
l
\)
\(
-executable
-o
-name
"*.so"
\)`;
do
\
if
file
-L
$$f
|
grep
-Eq
'.*ELF.*(executable|shared).*'
;
then
\
OLD_RPATH
=
"
`
chrpath
$$
f|awk
-F
'RPATH='
'{print $$2}'
|sed
's#
$(BUILD_DIRECTORY)
#
$(TARGET_DIRECTORY)
#g'
2> /dev/null
`
"
;
\
if
[
-n
"
$$
OLD_RPATH"
]
;
then
\
chrpath
-r
"
$$
OLD_RPATH"
$$
f
;
\
fi
;
\
fi
;
\
done
clean
:
rm
-rf
$(BUILD_ROOT_DIRECTORY)
rm
-f
*
-stamp
.PHONY
:
build cleanup-build strip-binaries all install clean
obs/re6st/templates/PKGBUILD.in
0 → 100644
View file @
d4427618
# Maintainer: Rafael Monnerat <rafael@nexedi.com>
pkgname=re6st-node
pkgver=%VERSION%+%RECIPE_VERSION%+%RELEASE%
pkgdesc="re6stnet"
pkgrel=1
arch=('x86_64' 'i686')
url="http://www.re6st.net"
license=('GPL')
depends=('gcc' 'make' 'patch' 'wget' 'python2' 'python2-distribute' 'bridge-utils')
makedepends=('gcc' 'make' 'patch' 'wget' 'python2' 'python2-distribute' 'chrpath' 'inetutils')
install='re6stnet.install'
source=(${pkgname}_${pkgver}.tar.gz)
md5sums=(%SOURCEMD5)
build() {
cd "${srcdir}/${pkgname}_${pkgver}"
make PYTHON=python2
}
package() {
cd "${srcdir}/${pkgname}_${pkgver}"
make DESTDIR="$pkgdir/" install
}
obs/re6st/templates/debian/changelog
0 → 100644
View file @
d4427618
re6st-node (0.399+0.260+0) unstable; urgency=low
* Initial release.
-- Rafael Monnerat <rafael@nexedi.com> Thu, 9 Apr 2015 11:32:17 +0300
obs/re6st/templates/debian/compat
0 → 100644
View file @
d4427618
7
obs/re6st/templates/debian/control
0 → 100644
View file @
d4427618
Source: re6st-node
Maintainer: Julien Muchembled <jm@nexedi.com>
Section: net
Priority: optional
Build-Depends: python-setuptools, python, debhelper (>= 7.4.3)
Standards-Version: 3.9.1
Package: re6st-node
Architecture: any
Depends: ${misc:Depends}, python, python-argparse, iproute2 | iproute, openssl
Recommends: ${python:Recommends}, logrotate
Suggests: ndisc6
Description: resilient, scalable, IPv6 network application
obs/re6st/templates/debian/copyright
0 → 100644
View file @
d4427618
Format: http://dep.debian.net/deps/dep5
Files: *
Copyright: 2012 Nexedi SA and Contributors
License: GPL-2+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
obs/re6st/templates/debian/postrm
0 → 100755
View file @
d4427618
#!/bin/sh -e
[
"
$DPKG_MAINTSCRIPT_PACKAGE
"
]
[
"
$1
"
=
purge
]
&&
for
d
in
lib log
;
do
d
=
/var/
$d
/
$DPKG_MAINTSCRIPT_PACKAGE
[
!
-d
"
$d
"
]
||
rm
-r
"
$d
"
||
:
done
#DEBHELPER#
obs/re6st/templates/debian/re6stnet.init
0 → 100644
View file @
d4427618
#!/bin/sh
### BEGIN INIT INFO
# Provides: re6stnet
# Required-Start: $network $local_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH
=
/sbin:/usr/sbin:/bin:/usr/bin:/opt/re6st/bin
NAME
=
re6stnet
DESC
=
"Resilient, Scalable, IPv6 Network application"
DAEMON
=
/opt/re6st/bin/
$NAME
CONFDIR
=
/etc/re6stnet
PIDFILE
=
/var/run/
$NAME
.pid
SCRIPTNAME
=
/etc/init.d/
$NAME
# Exit if the package is not installed or not configured
[
-x
$DAEMON
-a
-r
$CONFDIR
/
$NAME
.conf
]
||
exit
0
# Load the VERBOSE setting and other rcS variables
.
/lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
.
/lib/lsb/init-functions
#
# Function that starts the daemon/service
#
do_start
()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
set
start-stop-daemon
--quiet
--pidfile
$PIDFILE
"
$@
"
--stop
--test
--name
$NAME
&&
return
1
"
$@
"
--start
--make-pidfile
--background
--chdir
$CONFDIR
--exec
$DAEMON
--
@
$NAME
.conf
||
return
2
}
#
# Function that stops the daemon/service
#
do_stop
()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
set
start-stop-daemon
--stop
--quiet
--retry
=
TERM/30/KILL/5
"
$@
"
--pidfile
$PIDFILE
--name
$NAME
RETVAL
=
"
$?
"
[
"
$RETVAL
"
=
2
]
&&
return
2
rm
-f
$PIDFILE
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
"
$@
"
--oknodo
--exec
$DAEMON
[
"
$?
"
=
2
]
&&
return
2
# Many daemons don't delete their pidfiles when they exit.
return
"
$RETVAL
"
}
cd
$CONFDIR
;
$DAEMON
@
$NAME
.conf
--test
"main_interface != 'lo'"
||
case
"
$1
"
in
start
)
exit
0
;;
restart|force-reload
)
set
stop
;;
esac
case
"
$1
"
in
start
)
[
"
$VERBOSE
"
!=
no
]
&&
log_daemon_msg
"Starting
$DESC
"
"
$NAME
"
do_start
case
"
$?
"
in
0|1
)
[
"
$VERBOSE
"
!=
no
]
&&
log_end_msg 0
;;
2
)
[
"
$VERBOSE
"
!=
no
]
&&
log_end_msg 1
;;
esac
;;
stop
)
[
"
$VERBOSE
"
!=
no
]
&&
log_daemon_msg
"Stopping
$DESC
"
"
$NAME
"
do_stop
case
"
$?
"
in
0|1
)
[
"
$VERBOSE
"
!=
no
]
&&
log_end_msg 0
;;
2
)
[
"
$VERBOSE
"
!=
no
]
&&
log_end_msg 1
;;
esac
;;
status
)
status_of_proc
"
$DAEMON
"
"
$NAME
"
&&
exit
0
||
exit
$?
;;
restart|force-reload
)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg
"Restarting
$DESC
"
"
$NAME
"
do_stop
case
"
$?
"
in
0|1
)
do_start
case
"
$?
"
in
0
)
log_end_msg 0
;;
1
)
log_end_msg 1
;;
# Old process is still running
*
)
log_end_msg 1
;;
# Failed to start
esac
;;
*
)
# Failed to stop
log_end_msg 1
;;
esac
;;
*
)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo
"Usage:
$SCRIPTNAME
{start|stop|status|restart|force-reload}"
>
&2
exit
3
;;
esac
:
obs/re6st/templates/debian/rules
0 → 100755
View file @
d4427618
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
# This is the debhelper compatibility version to use.
export DH_COMPAT=4
CFLAGS = -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
build: build-stamp
build-stamp:
dh_testdir
# Add here commands to compile the package.
make
# --- end custom part for compiling
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process
# --- end custom part for cleaning up
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package
# The DESTDIR Has To Be Exactly /usr/src/packages/BUILD/debian/<nameOfPackage>
dh_auto_install --TARGET_DIRECTORY=/opt/re6st
# --- end custom part for installing
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
# dh_installdebconf
dh_installdocs
dh_installexamples
dh_installmenu
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
dh_installinit
dh_installcron
dh_installlogrotate
dh_installman
dh_installinfo
# dh_undocumented
dh_installchangelogs
dh_link
dh_strip
dh_compress
dh_fixperms
dh_makeshlibs -n
dh_installdeb
# dh_perl
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb -- -Zlzma -z9
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
obs/re6st/templates/debian/source/format
0 → 100644
View file @
d4427618
3.0 (native)
obs/re6st/templates/offline.sh.in
0 → 100755
View file @
d4427618
#!/bin/bash
VERSION
=
%VERSION%
RECIPE_VERSION
=
%RECIPE_VERSION%
BUILDOUT_URL
=
%BUILDOUT_URL%
TARGET_DIRECTORY
=
/opt/re6st
BUILD_ROOT_DIRECTORY
=
"
$(
pwd
)
/build"
BUILD_DIRECTORY
=
$BUILD_ROOT_DIRECTORY$TARGET_DIRECTORY
BOOTSTRAP_URL
=
'https://raw.githubusercontent.com/buildout/buildout/1/bootstrap/bootstrap.py'
echo
"Preparing source tarball (recipe version:
$RECIPE_VERSION
)"
echo
" Build Directory:
$BUILD_DIRECTORY
"
echo
" Buildroot Directory:
$BUILD_ROOT_DIRECTORY
"
mkdir
-p
$BUILD_DIRECTORY
mkdir
$BUILD_DIRECTORY
/extends-cache
mkdir
$BUILD_DIRECTORY
/download-cache
set
-e
echo
"
$BUILD_ROOT_DIRECTORY
"
>
./original_directory
sed
"s!
\%
BUILDOUT_URL
\%
!
$BUILDOUT_URL
!g;s/
\%
RECIPE_VERSION
\%
/
$RECIPE_VERSION
/g;s|
\%
PATCHES_DIRECTORY
\%
|
$PATCHES_DIRECTORY
|g;s|
\%
TARGET_DIRECTORY
\%
|
$TARGET_DIRECTORY
|g;s|
\%
BUILD_ROOT_DIRECTORY
\%
|
$BUILD_ROOT_DIRECTORY
|g;s|
\%
BUILD_DIRECTORY
\%
|
$BUILD_DIRECTORY
|g"
buildout.cfg.in
>
$BUILD_DIRECTORY
/buildout.cfg
# Build first time to get download-cache and extends-cache ready
cd
$BUILD_DIRECTORY
wget
$BOOTSTRAP_URL
--no-check-certificate
-O
bootstrap.py
(
python
-S
bootstrap.py
&&
\
./bin/buildout
)
||
(
echo
"Failed to run buildout, exiting."
&&
exit
1
)
cd
$BUILD_ROOT_DIRECTORY
/..
# remove all files from build keeping only caches
echo
"Deleting unecessary files to reduce source tarball size"
# TODO: Figure out why there is no write permission even for
# the owner
chmod
-R
u+w
$BUILD_DIRECTORY
# Buildout files
rm
-rfv
$BUILD_DIRECTORY
/downloads
rm
-fv
$BUILD_DIRECTORY
/bootstrap.py
$BUILD_DIRECTORY
/buildout.cfg
\
$BUILD_DIRECTORY
/.installed.cfg
\
$BUILD_DIRECTORY
/environment.
*
rm
-rfv
$BUILD_DIRECTORY
/parts/
rm
-rfv
$BUILD_DIRECTORY
/eggs/
rm
-rfv
$BUILD_DIRECTORY
/develop-eggs/
rm
-rfv
$BUILD_DIRECTORY
/bin
# Removing empty directories
find
$BUILD_DIRECTORY
-type
d
-empty
-prune
-exec
rmdir
'{}'
';'
# Prepare buildout
sed
"s!
\%
BUILDOUT_URL
\%
!
$BUILDOUT_URL
!g;s/
\%
RECIPE_VERSION
\%
/
$RECIPE_VERSION
/g;s|
\%
PATCHES_DIRECTORY
\%
|
$PATCHES_DIRECTORY
|g;s|
\%
TARGET_DIRECTORY
\%
|
$TARGET_DIRECTORY
|g;s|
\%
BUILD_ROOT_DIRECTORY
\%
|
$BUILD_ROOT_DIRECTORY
|g;s|
\%
BUILD_DIRECTORY
\%
|
$BUILD_DIRECTORY
|g"
$BUILD_ROOT_DIRECTORY
/../buildout.cfg.in
>
$BUILD_DIRECTORY
/buildout.cfg
cd
$BUILD_DIRECTORY
&&
\
wget
$BOOTSTRAP_URL
--no-check-certificate
-O
bootstrap.py
&&
\
python
-S
bootstrap.py
# Removing Python byte-compiled files (as it will be done upon
# package installation) and static libraries
find
$BUILD_DIRECTORY
-regextype
posix-extended
-type
f
\
-iregex
'.*/*\.(py[co]|[l]?a|exe|bat)$$'
-exec
rm
-fv
'{}'
';'
obs/re6st/templates/re6stnet.dsc.in
0 → 100644
View file @
d4427618
Format: 1.0
Source: re6st-node
Binary: re6st-node
Architecture: any
Version: %VERSION%+%RECIPE_VERSION%+%RELEASE%-1
Maintainer: Rafael Monnerat <rafael@nexedi.com>
Homepage: http://www.slapos.org
Standards-Version: 3.9.2
Build-Depends: debhelper (>= 4.1.16), chrpath, po-debconf, wget, python, python-dev, python-setuptools
Files:
1c2803e4693c74042985d753c9c3ba53 73736102 re6st-node_%VERSION%+%RECIPE_VERSION%+%RELEASE%.orig.tar.gz
1c2803e4693c74042985d753c9c3ba53 6102 re6st-node_%VERSION%+%RECIPE_VERSION%+%RELEASE%-1.diff.tar.gz
obs/re6st/templates/re6stnet.install
0 → 100644
View file @
d4427618
# This is a default template for a post-install scriptlet.
# Uncomment only required functions and remove any functions
# you don't need (and this header).
## arg 1: the new package version
#pre_install() {
# do something here
#}
## arg 1: the new package version
#post_install() {
# do something here
#}
## arg 1: the new package version
## arg 2: the old package version
#pre_upgrade() {
# do something here
#}
## arg 1: the new package version
## arg 2: the old package version
#post_upgrade() {
# do something here
#}
## arg 1: the old package version
#pre_remove() {
# do something here
#}
## arg 1: the old package version
#post_remove() {
# do something here
#}
obs/re6st/templates/re6stnet.spec.in
0 → 100644
View file @
d4427618
%define slapversion %RECIPE_VERSION%
%define version %VERSION%
%define unmangled_version %VERSION%
%define release_number %RELEASE%
Summary: resilient, scalable, IPv6 network application
Name: re6st-node
Version: %{slapversion}
Release: %{release_number}
Source: re6st-node_%{unmangled_version}+%{slapversion}+%{release_number}.tar.gz
License: GPLv2+
Group: Applications/Internet
BuildRequires: gcc-c++, make, patch, wget, python, python-devel, chrpath, python-setuptools, openssl-devel
Requires: python
AutoReqProv: no
%description
%prep
rm -rf $RPM_BUILD_DIR/re6st-node_%{unmangled_version}+%{slapversion}+%{release_number}
zcat $RPM_SOURCE_DIR/re6st-node_%{unmangled_version}+%{slapversion}+%{release_number}.tar.gz | tar -xvf -
%build
cd $RPM_BUILD_DIR/re6st-node_%{unmangled_version}+%{slapversion}+%{release_number}
make
%install
cd $RPM_BUILD_DIR/re6st-node_%{unmangled_version}+%{slapversion}+%{release_number}/
make DESTDIR=$RPM_BUILD_ROOT install
%files
/etc/systemd
/etc/systemd/re6stnet.service
/etc/NetworkManager
/etc/NetworkManager/dispatcher.d
/etc/NetworkManager/dispatcher.d/50re6stnet
/etc/re6stnet
/usr/bin/re6st-conf
/usr/bin/re6st-registry
/usr/bin/re6stnet
/var/lib/re6stnet
/var/log/re6stnet
/opt/re6st
%defattr(-,root,root)
%post
%preun
%postun
obs/slapos/prepare_slapos_build.sh
View file @
d4427618
#!/bin/sh -e
# Edit for release
VERSION
=
1.3.
5
VERSION
=
1.3.
9
# Edit for release
RECIPE_VERSION
=
0.250
RECIPE_VERSION
=
0.250
.1
# Edit for release
RELEASE
=
1
GITHASH
=
5f52d060953f2bff342dff8ae29cc44d98e918af
...
...
obs/slapos/slapos-node/slapos/buildout.cfg.in
View file @
d4427618
...
...
@@ -26,7 +26,7 @@ environment +=
# Add gettext library path to RPATH as its binaries are used to build
# glib for example
environment =
PATH=${perl:location}/bin:${
xz-utils
:location}/bin:%(PATH)s
PATH=${perl:location}/bin:${
lunzip
:location}/bin:%(PATH)s
CPPFLAGS=-I${libxml2:location}/include -I${zlib:location}/include -I${ncurses:location}/include
LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=%BUILD_DIRECTORY%/parts/${:_buildout_section_name_}/lib
...
...
@@ -38,3 +38,4 @@ make-options +=
[versions]
cliff = 1.4.5
slapos.core = 1.3.9
obs/slapos/templates/debian/changelog
View file @
d4427618
slapos-node (1.3.9+0.250.1+1) unstable; urgency=low
* New version of slapos (1.3.9+0.250.1+1)
-- Cedric de Saint Martin <cedric.dsm@nexedi.com> Sun, 22 Mar 2015 13:48:16 +0100
slapos-node (1.3.9+0.250.1+1) unstable; urgency=low
* New version of slapos (1.3.9+0.250.1+1)
-- Cedric de Saint Martin <cedric.dsm@nexedi.com> Sun, 22 Mar 2015 13:20:28 +0100
slapos-node (1.3.5+0.250+1) unstable; urgency=low
* New version of slapos (1.3.5+0.250+1)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment