Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Honor compilation flags passed from the environment #1

Open
wants to merge 3 commits into
base: ubuntu/utopic
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions debian/README.source
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
skiboot for Debian
------------------

This package contains support utilities for the skiboot firmware, for OPAL
Power machined.

-- Jeremy Kerr <jk@ozlabs.org> Sat, 28 Feb 2015 09:20:34 +0800

5 changes: 5 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
skiboot (5.0.3-1) utopic; urgency=medium

* Add debian metadata

-- Jeremy Kerr <jk@ozlabs.org> Tue, 10 Mar 2015 15:25:48 +0800
1 change: 1 addition & 0 deletions debian/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9
26 changes: 26 additions & 0 deletions debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Source: skiboot
Section: admin
Priority: optional
Maintainer: Jeremy Kerr <jk@ozlabs.org>
Build-Depends: debhelper (>= 8.0.0)
Standards-Version: 3.9.4
Homepage: http://github.com/open-power/skiboot/
#Vcs-Git: git://git.debian.org/collab-maint/skiboot.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/skiboot.git;a=summary

Package: opal-prd
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: OPAL Processor Recovery Diagnostics daemon
.
This package provides a daemon to load and run the OpenPower firmware's
Processor Recovery Diagnostics binary. This is responsible for runtime
maintenance of Power hardware.

Package: opal-utils
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: OPAL firmware utilities
.
This package contains the 'gard' utility, to read, parse and clear hardware
gard partitions on OpenPower platforms.
38 changes: 38 additions & 0 deletions debian/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: skiboot
Source: <url://example.com>

Files: *
Copyright: <years> <put author's name and email here>
<years> <likewise for another author>
License: <special license>
<Put the license of the package here indented by 1 space>
<This follows the format of Description: lines in control file>
.
<Including paragraphs>

# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2015 Jeremy Kerr <jk@ozlabs.org>
License: GPL-2+
This package 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".

# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
# Please avoid to pick license terms that are more restrictive than the
# packaged work, as it may make Debian's contributions unacceptable upstream.
56 changes: 56 additions & 0 deletions debian/manpage.1.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
.\" Hey, EMACS: -*- nroff -*-
.\" (C) Copyright 2015 Jeremy Kerr <jk@ozlabs.org>,
.\"
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH SKIBOOT SECTION "February 28, 2015"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
skiboot \- program to do something
.SH SYNOPSIS
.B skiboot
.RI [ options ] " files" ...
.br
.B bar
.RI [ options ] " files" ...
.SH DESCRIPTION
This manual page documents briefly the
.B skiboot
and
.B bar
commands.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
.\" respectively.
\fBskiboot\fP is a program that...
.SH OPTIONS
These programs follow the usual GNU command line syntax, with long
options starting with two dashes (`-').
A summary of options is included below.
For a complete description, see the Info files.
.TP
.B \-h, \-\-help
Show summary of options.
.TP
.B \-v, \-\-version
Show version of program.
.SH SEE ALSO
.BR bar (1),
.BR baz (1).
.br
The programs are documented fully by
.IR "The Rise and Fall of a Fooish Bar" ,
available via the Info system.
15 changes: 15 additions & 0 deletions debian/opal-prd.default
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Defaults for skiboot initscript
# sourced by /etc/init.d/skiboot
# installed at /etc/default/skiboot by the maintainer scripts

#
# This is a POSIX shell fragment
#

PNOR_DEVICE=/dev/mtd0

# Additional options that are passed to the Daemon.
DAEMON_OPTS=""

# Set to true to have the PRD daemon started on boot
OPAL_PRD_ENABLED=false
1 change: 1 addition & 0 deletions debian/opal-prd.docs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
README
134 changes: 134 additions & 0 deletions debian/opal-prd.init
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: opal-prd
# Required-Start: $local_fs $network $remote_fs $syslog
# Required-Stop: $local_fs $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Run the skiboot opal-prd daemon
# Description: The opal-prd daemon provides hardware error recovery
# support for OPAL-based POWER systems.
### END INIT INFO

# Author: Jeremy Kerr <jk@ozlabs.org>

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="opal-prd"
NAME=opal-prd
DAEMON=/usr/sbin/opal-prd
DAEMON_ARGS=""
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
. /lib/lsb/init-functions

if [ "$PNOR_DEVICE" ]
then
PNOR_OPTS="--pnor $PNOR_DEVICE"
fi

[ "$OPAL_PRD_ENABLED" = "true" -o "$OPAL_PRD_ENABLED" = "1" ] || exit 0

#
# 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
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$PNOR_OPTS $DAEMON_ARGS \
|| 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
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}

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 $?
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
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|status|restart|force-reload}" >&2
exit 3
;;
esac

:
3 changes: 3 additions & 0 deletions debian/opal-prd.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
debian/opal-prd.socket lib/systemd/system/
debian/opal-prd.service lib/systemd/system/
usr/sbin/opal-prd usr/sbin/
10 changes: 10 additions & 0 deletions debian/opal-prd.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[Unit]
Description=OPAL PRD daemon
Requires=opal-prd.socket

[Service]
StandardInput=socket
ExecStart=/usr/sbin/opal-prd

[Install]
WantedBy=multi-user.target
8 changes: 8 additions & 0 deletions debian/opal-prd.socket
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[Unit]
Description=OPAL PRD Listen Socket

[Socket]
ListenStream=/run/opal-prd-control

[Install]
WantedBy=sockets.target
10 changes: 10 additions & 0 deletions debian/opal-prd.upstart
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# opal-prd - OPAL Processor Recovery Diagnostics daemon

description "OPAL PRD daemon"

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec opal-prd --pnor /dev/mtd0
1 change: 1 addition & 0 deletions debian/opal-utils.docs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
README
1 change: 1 addition & 0 deletions debian/opal-utils.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/sbin/opal-gard usr/sbin/
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
From 5f3cfd97cc9304d25c65301c708fa5dd0a5e96c6 Mon Sep 17 00:00:00 2001
From: Cyril Bur <cyril.bur@au1.ibm.com>
Date: Thu, 4 Jun 2015 12:03:36 +1000
Subject: [PATCH] external/gard: add Makefile targets to make debian packages

The Makefile is missing a install target which will be needed to package and
distribute into ubuntu.

Added a simple install target.

Signed-off-by: Cyril Bur <cyril.bur@au1.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
external/gard/Makefile | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/external/gard/Makefile b/external/gard/Makefile
index 318501e..4f0400e 100644
--- a/external/gard/Makefile
+++ b/external/gard/Makefile
@@ -1,5 +1,8 @@
# This tool is a linux userland tool and should be completely stand alone

+prefix = /usr/local/
+sbindir = $(prefix)/sbin
+
CC = $(CROSS_COMPILE)gcc
CFLAGS = -m64 -Werror -Wall -g2 -ggdb
LDFLAGS = -m64
@@ -21,6 +24,11 @@ all: $(EXE)
$(EXE): $(OBJS)
$(LINK.o) -o $@ $^

+install: all
+ install -D gard $(DESTDIR)$(sbindir)/opal-gard
+
clean:
rm -f $(OBJS) $(EXE) *.d

+distclean: clean
+
--
1.9.1

1 change: 1 addition & 0 deletions debian/patches/series
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0001-external-gard-add-Makefile-targets-to-make-debian-pa.patch
16 changes: 16 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

%:
dh $@

override_dh_auto_build:
make -C external/opal-prd/
make -C external/gard/

override_dh_auto_install:
make -C external/opal-prd/ prefix=/usr DESTDIR=../../debian/tmp/ install
make -C external/gard/ prefix=/usr DESTDIR=../../debian/tmp/ install
Loading