Compare commits
57 Commits
upstream
...
publish-to
Author | SHA1 | Date | |
---|---|---|---|
![]() |
754f3ef681 | ||
![]() |
6e16adcd54 | ||
![]() |
08049d6dfb | ||
![]() |
84ca8ee842 | ||
![]() |
28722623e2 | ||
![]() |
1afe488c81 | ||
![]() |
424f700fb8 | ||
![]() |
bbcbb10e75 | ||
![]() |
6e75dc4e17 | ||
![]() |
a539a87132 | ||
![]() |
c7d9554d63 | ||
![]() |
e2543fb32b | ||
![]() |
e7ba3b40c2 | ||
![]() |
f591cd8dcb | ||
![]() |
b25a4b8744 | ||
![]() |
a389edbf27 | ||
![]() |
8c21f7c28f | ||
![]() |
2614fdd90d | ||
![]() |
230c5f8641 | ||
![]() |
17cf206279 | ||
![]() |
15a303cb97 | ||
![]() |
7488920028 | ||
![]() |
ae655dde0e | ||
![]() |
4c7488d928 | ||
![]() |
1aff2698f7 | ||
![]() |
c3a79718fa | ||
![]() |
27e9ba595b | ||
![]() |
ad1fbc788d | ||
![]() |
1f2b994c45 | ||
![]() |
885990c5b3 | ||
![]() |
da46b0ec2a | ||
![]() |
9e6ce9d913 | ||
![]() |
a97bbe0d7c | ||
![]() |
d771a2be9c | ||
![]() |
118903d9d5 | ||
![]() |
0ed037fc9d | ||
![]() |
4b17ea4714 | ||
![]() |
05e54f22e8 | ||
![]() |
f2f99ce8e4 | ||
![]() |
8d47c623c4 | ||
![]() |
827ca74740 | ||
![]() |
75a6eaca70 | ||
![]() |
427fa40ef4 | ||
![]() |
7ad9816fc3 | ||
![]() |
4e4d0e02b6 | ||
![]() |
a4afa867a1 | ||
![]() |
72ce94ef59 | ||
![]() |
ee38239429 | ||
![]() |
33fe733d3f | ||
![]() |
181d3cd30a | ||
![]() |
4ed52c07dd | ||
![]() |
ffe52106cd | ||
![]() |
10f11d9bc1 | ||
![]() |
4cba09d819 | ||
![]() |
9e1b28a8b1 | ||
![]() |
08050fbec7 | ||
![]() |
7eb0b073ec |
53
.gitlab-ci.yml
Normal file
53
.gitlab-ci.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
stages:
|
||||
- package
|
||||
- publish
|
||||
|
||||
package:jessie:gem:
|
||||
image: $CI_REGISTRY/docker-images/layers:$DISTRO-ruby
|
||||
stage: package
|
||||
variables:
|
||||
DISTRO: jessie
|
||||
GEMFILE: netlinkrb.gemspec
|
||||
script:
|
||||
- package
|
||||
artifacts:
|
||||
paths:
|
||||
- pkg/
|
||||
|
||||
package:jessie: &package
|
||||
image: $CI_REGISTRY/docker-images/layers:$DISTRO-deb
|
||||
stage: package
|
||||
variables:
|
||||
DISTRO: jessie
|
||||
script:
|
||||
- package
|
||||
artifacts:
|
||||
paths:
|
||||
- pkg/
|
||||
|
||||
package:stretch:
|
||||
<<: *package
|
||||
variables:
|
||||
DISTRO: stretch
|
||||
|
||||
package:wheezy:
|
||||
<<: *package
|
||||
variables:
|
||||
DISTRO: wheezy
|
||||
|
||||
publish:
|
||||
image: $CI_REGISTRY/docker-images/layers:jessie-publish
|
||||
stage: publish
|
||||
script:
|
||||
- publish
|
||||
|
||||
publish:rubygems:
|
||||
image: $CI_REGISTRY/docker-images/layers:$DISTRO-ruby
|
||||
stage: publish
|
||||
script:
|
||||
- mkdir -p ~/.gem
|
||||
- 'echo -e "---\n:rubygems_api_key: ''$RUBYGEMS_API_KEY''\n" > ~/.gem/credentials'
|
||||
- gem push pkg/jessie/gems/netlinkrb-*.gem
|
||||
only:
|
||||
- master
|
||||
- publish-to-rubygems
|
@@ -1,3 +1,7 @@
|
||||
^debian/ruby-linux-netlink$
|
||||
~$
|
||||
^.config-liblinux-netlink-ruby
|
||||
^debian/$
|
||||
^.pc/
|
||||
^debian/files$
|
||||
^debian/.*\.substvars$
|
||||
^debian/.*\.debhelper.log$
|
||||
|
117
debian/changelog
vendored
Normal file
117
debian/changelog
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
ruby-linux-netlink (0.19-1) stable; urgency=medium
|
||||
|
||||
* The size of size_t is now calculated from the size of an unsigned long
|
||||
int, instead of calling gcc.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Wed, 10 May 2017 15:24:42 +0100
|
||||
|
||||
ruby-linux-netlink (0.18-2) stable; urgency=medium
|
||||
|
||||
* This package is now architecture independent.
|
||||
* The source format has been removed in favour of using dh --with quilt.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Tue, 28 Feb 2017 16:43:43 +0000
|
||||
|
||||
ruby-linux-netlink (0.18-1+jessie1) stable; urgency=medium
|
||||
|
||||
* Fixed new massive IP test thing to work with ruby1.8 and also non-root users
|
||||
* Make sure link exists before proceeding with test
|
||||
* Scaled back the massive allocation of IPs from 11 /24s to 4.
|
||||
* Updated linux header constants
|
||||
* Updated to 0.18
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Mon, 17 Oct 2016 13:09:35 +0100
|
||||
|
||||
ruby-linux-netlink (0.17-1+jessie1) testing; urgency=medium
|
||||
|
||||
* New upstream release
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Wed, 01 Apr 2015 22:51:34 +0100
|
||||
|
||||
ruby-linux-netlink (0.16-1+jessie1) testing; urgency=medium
|
||||
|
||||
* Repackaged for jessie
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Wed, 01 Apr 2015 17:39:44 +0100
|
||||
|
||||
ruby-linux-netlink (0.16-1+wheezy1) stable; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Patrick J Cherry <patch@dynamo> Tue, 26 Aug 2014 16:33:48 +0100
|
||||
|
||||
ruby-linux-netlink (0.15-1+wheezy1) stable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Tue, 21 Jan 2014 10:01:20 +0000
|
||||
|
||||
ruby-linux-netlink (0.14-1+wheezy1) stable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Thu, 14 Nov 2013 13:37:28 +0000
|
||||
|
||||
ruby-linux-netlink (0.13-1+wheezy1) stable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Wed, 13 Nov 2013 16:16:36 +0000
|
||||
|
||||
ruby-linux-netlink (0.12-1+wheezy1) stable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Thu, 12 Sep 2013 14:26:41 +0100
|
||||
|
||||
ruby-linux-netlink (0.11-1+wheezy2) stable; urgency=low
|
||||
|
||||
* Switch to dpkg-source 3.0 (quilt) format.
|
||||
* Added patch to remove rubygems requires.
|
||||
* Renamed source package to fit in with the new guidelines.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Fri, 05 Jul 2013 14:16:30 +0100
|
||||
|
||||
linux-netlink-ruby (0.11-1+wheezy1) stable; urgency=low
|
||||
|
||||
* New upstream version, repackaged for wheezy.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Fri, 05 Jul 2013 14:16:05 +0100
|
||||
|
||||
linux-netlink-ruby (0.10-6) stable; urgency=low
|
||||
|
||||
* Add ip rule support
|
||||
|
||||
-- Nick Thomas <nick@bytemark.co.uk> Thu, 5 Jul 2012 15:19:42 +0100
|
||||
|
||||
linux-netlink-ruby (0.10-5) stable; urgency=low
|
||||
|
||||
* Updated rattr constants to work with linux 3.2.
|
||||
* Updated link handler to have new rattrs.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Mon, 11 Jun 2012 10:53:37 +0100
|
||||
|
||||
linux-netlink-ruby (0.10-4) unstable; urgency=low
|
||||
|
||||
* Removed dependency on gcc, in favour of having arch-dependent packages
|
||||
which rely on build-time ascertation of sizeof size_t.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Tue, 24 Jan 2012 15:56:46 +0000
|
||||
|
||||
linux-netlink-ruby (0.10-3) unstable; urgency=low
|
||||
|
||||
* Updated version number to cover the previous changes.
|
||||
|
||||
-- Steve Kemp <steve@bytemark.co.uk> Thu, 12 Jan 2012 12:00:21 +0000
|
||||
|
||||
linux-netlink-ruby (0.10-2) unstable; urgency=low
|
||||
|
||||
* Added NlSocket.open and scope handling.
|
||||
|
||||
-- Matthew Bloch <matthew@bytemark.co.uk> Wed, 18 May 2011 15:27:00 +0100
|
||||
|
||||
linux-netlink-ruby (0.10-1) unstable; urgency=low
|
||||
|
||||
* Initial release.
|
||||
|
||||
-- Patrick J Cherry <patrick@bytemark.co.uk> Thu, 12 May 2011 17:17:45 +0100
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@@ -0,0 +1 @@
|
||||
7
|
18
debian/control
vendored
Normal file
18
debian/control
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
Source: ruby-linux-netlink
|
||||
Maintainer: Matthew Bloch <matthew@bytemark.co.uk>
|
||||
Uploaders: Patrick J Cherry <patrick@bytemark.co.uk>
|
||||
Section: ruby
|
||||
Priority: optional
|
||||
Build-Depends: debhelper (>= 7), gem2deb, rake, ruby-ffi, quilt
|
||||
Standards-Version: 3.8.0
|
||||
XS-Ruby-Versions: all
|
||||
|
||||
Package: ruby-linux-netlink
|
||||
Architecture: all
|
||||
Depends: ruby | ruby-interpreter, ruby-ffi, ${misc:Depends}
|
||||
Provides: liblinux-netlink-ruby1.8, liblinux-netlink-ruby1.9.1
|
||||
XB-Ruby-Versions: ${ruby:Versions}
|
||||
Description: Netlink socket library for Ruby
|
||||
This library provides an API for using a Linux Netlink socket, for doing
|
||||
things like manipulating IP interfaces and routes programmatically, and
|
||||
capturing packets from ULOG.
|
20
debian/copyright
vendored
Normal file
20
debian/copyright
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
Ruby Netlink
|
||||
============
|
||||
|
||||
Copyright (c) 2011 Bytemark Computer Consulting Ltd
|
||||
|
||||
Licence:
|
||||
|
||||
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 program 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.
|
||||
|
||||
On Debian GNU/Linux systems, the complete text of the GNU General Public
|
||||
License can be found in ‘/usr/share/common-licenses/GPL’ or in the dpkg
|
||||
source as the file ‘COPYING’
|
32
debian/patches/remove-rubygems-requirements
vendored
Normal file
32
debian/patches/remove-rubygems-requirements
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
Removed "require rubygems" from everywhere.
|
||||
--- a/lib/linux/iptables.rb
|
||||
+++ b/lib/linux/iptables.rb
|
||||
@@ -1,11 +1,6 @@
|
||||
require 'socket'
|
||||
require 'linux/constants'
|
||||
-
|
||||
-begin
|
||||
- require 'ffi'
|
||||
-rescue LoadError
|
||||
- require('rubygems') ? retry : raise
|
||||
-end
|
||||
+require 'ffi'
|
||||
|
||||
|
||||
# Good things about FFI::Struct:
|
||||
--- a/lib/linux/sendmsg.rb
|
||||
+++ b/lib/linux/sendmsg.rb
|
||||
@@ -1,12 +1,7 @@
|
||||
# Patchup to add Socket#sendmsg and Socket#recvmsg for ruby 1.8
|
||||
|
||||
if BasicSocket.instance_methods.grep(/^sendmsg$/).empty?
|
||||
- begin
|
||||
- require 'ffi'
|
||||
- rescue LoadError
|
||||
- require('rubygems') ? retry : raise
|
||||
- end
|
||||
-
|
||||
+ require 'ffi'
|
||||
|
||||
class BasicSocket
|
||||
module FFIExt
|
1
debian/patches/series
vendored
Normal file
1
debian/patches/series
vendored
Normal file
@@ -0,0 +1 @@
|
||||
remove-rubygems-requirements
|
1
debian/ruby-linux-netlink.examples
vendored
Normal file
1
debian/ruby-linux-netlink.examples
vendored
Normal file
@@ -0,0 +1 @@
|
||||
examples/*
|
2
debian/ruby-test-files.yaml
vendored
Normal file
2
debian/ruby-test-files.yaml
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
- test/t_route.rb
|
23
debian/rules
vendored
Executable file
23
debian/rules
vendored
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/make -f
|
||||
#
|
||||
# export DH_VERBOSE=1
|
||||
#
|
||||
# Uncomment to ignore all test failures (but the tests will run anyway)
|
||||
# export DH_RUBY_IGNORE_TESTS=all
|
||||
#
|
||||
# Uncomment to ignore some test failures (but the tests will run anyway).
|
||||
# Valid values:
|
||||
# export DH_RUBY_IGNORE_TESTS=ruby1.8 ruby1.9.1 require-rubygems
|
||||
#
|
||||
# If you need to specify the .gemspec (eg there is more than one)
|
||||
# export DH_RUBY_GEMSPEC=gem.gemspec
|
||||
|
||||
%:
|
||||
dh $@ --buildsystem=ruby --with ruby --with quilt
|
||||
|
||||
override_dh_auto_build-arch:
|
||||
rake lib/linux/c_struct_sizeof_size_t.rb
|
||||
|
||||
override_dh_auto_clean:
|
||||
rake clean
|
||||
|
@@ -32,12 +32,12 @@ class CStruct
|
||||
EMPTY_ARRAY = [].freeze #:nodoc:
|
||||
|
||||
TYPE_INFO = {} #:nodoc
|
||||
|
||||
|
||||
# The size of the structure (in bytes)
|
||||
def self.bytesize
|
||||
@bytesize
|
||||
end
|
||||
|
||||
|
||||
# Define a new type for use with 'field'. You supply the
|
||||
# symbolic name for the type, and a set of options.
|
||||
# :pattern => "str" # format string for Array#pack / String#unpack
|
||||
@@ -51,7 +51,7 @@ class CStruct
|
||||
def self.define_type(name, opt)
|
||||
TYPE_INFO[name] = opt
|
||||
end
|
||||
|
||||
|
||||
# Return a type info hash given a type id. Raises IndexError if not found.
|
||||
def self.find_type(type)
|
||||
case type
|
||||
@@ -61,7 +61,7 @@ class CStruct
|
||||
TYPE_INFO.fetch(type)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
define_type :uchar, :pattern => "C"
|
||||
define_type :uint16, :pattern => "S", :align => true
|
||||
define_type :uint32, :pattern => "L", :align => true
|
||||
@@ -78,12 +78,12 @@ class CStruct
|
||||
define_type :long, :pattern => "l_", :align => true
|
||||
define_type :ns, :pattern => "n", :align => true
|
||||
define_type :nl, :pattern => "N", :align => true
|
||||
|
||||
|
||||
begin
|
||||
require 'linux/c_struct_sizeof_size_t.rb'
|
||||
rescue LoadError
|
||||
warn "Falling back to gcc to determine sizeof size_t." if $VERBOSE
|
||||
SIZEOF_SIZE_T = Integer(`echo __SIZEOF_SIZE_T__ | gcc -E -P -`) rescue 1.size
|
||||
warn "netlinkrb: Assuming size_t is a long unsigned int." if $DEBUG
|
||||
SIZEOF_SIZE_T = [0].pack("L_").bytesize
|
||||
end
|
||||
|
||||
define_type :size_t,
|
||||
@@ -108,20 +108,20 @@ class CStruct
|
||||
h.each { |k,v| self[k] = v } if h
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# This hook is called after unpacking from binary, and can be used
|
||||
# for fixing up the data
|
||||
def after_parse
|
||||
end
|
||||
|
||||
|
||||
def to_hash
|
||||
@attrs
|
||||
end
|
||||
|
||||
|
||||
def each(&blk)
|
||||
@attrs.each(&blk)
|
||||
end
|
||||
|
||||
|
||||
# Set a field by name. Currently can use either symbol or string as key.
|
||||
def []=(k,v)
|
||||
send "#{k}=", v
|
||||
@@ -131,7 +131,7 @@ class CStruct
|
||||
def [](k)
|
||||
@attrs[k]
|
||||
end
|
||||
|
||||
|
||||
def self.inherited(subclass) #:nodoc:
|
||||
subclass.const_set(:FIELDS, [])
|
||||
subclass.const_set(:FORMAT, "")
|
||||
@@ -175,7 +175,7 @@ class CStruct
|
||||
@bytesize += count
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# Returns the packed binary representation of this structure
|
||||
def to_str
|
||||
self.class::FIELDS.map { |key| self[key] || self.class::DEFAULTS[key] }.pack(self.class::FORMAT)
|
||||
@@ -184,7 +184,7 @@ class CStruct
|
||||
def inspect
|
||||
"#<#{self.class} #{@attrs.inspect}>"
|
||||
end
|
||||
|
||||
|
||||
# Convert a binary representation of this structure into an object instance.
|
||||
# If a block is given, the object is yielded to that block. Finally the
|
||||
# after_parse hook is called.
|
||||
|
Reference in New Issue
Block a user