pkg_noisrev 0.0.1
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/Gemfile +4 -0
- data/README.rdoc +102 -0
- data/Rakefile +58 -0
- data/bin/pkg_noisrev +70 -0
- data/doc/LICENSE +22 -0
- data/doc/NEWS.rdoc +5 -0
- data/doc/README.rdoc +102 -0
- data/doc/TODO +6 -0
- data/etc/pkg_noisrev.yaml +2 -0
- data/ext/extconf.rb +6 -0
- data/ext/rakefile.rb +24 -0
- data/ext/version.c +286 -0
- data/ext/version.h +13 -0
- data/lib/pkg_noisrev/fbsdpackage.rb +350 -0
- data/lib/pkg_noisrev/fbsdpackageversion.rb +18 -0
- data/lib/pkg_noisrev/meta.rb +9 -0
- data/lib/pkg_noisrev/threads.rb +99 -0
- data/lib/pkg_noisrev/trestle.rb +222 -0
- data/test/helper.rb +10 -0
- data/test/helper_trestle.rb +34 -0
- data/test/rake_git.rb +36 -0
- data/test/semis/package/invalid-1.0/+CONTENTS +0 -0
- data/test/semis/package/xmbdfed-4.7.1_2/+COMMENT +1 -0
- data/test/semis/package/xmbdfed-4.7.1_2/+CONTENTS +47 -0
- data/test/semis/package/zip-3.0/+COMMENT +1 -0
- data/test/semis/package/zip-3.0/+CONTENTS +35 -0
- data/test/semis/package/zip-3.0/+REQUIRED_BY +1 -0
- data/test/semis/ports/MOVED +23 -0
- data/test/semis/ports/archivers/zip/Makefile +35 -0
- data/test/semis/ports/x11-servers/xorg-server/Makefile +137 -0
- data/test/test_fbsdpackages.rb +70 -0
- data/test/test_fbsdports.rb +42 -0
- metadata +111 -0
@@ -0,0 +1,137 @@
|
|
1
|
+
# New ports collection makefile for: xorg-server
|
2
|
+
# Date created: 7 May 2004
|
3
|
+
# Whom: anholt@FreeBSD.org
|
4
|
+
#
|
5
|
+
# $FreeBSD: ports/x11-servers/xorg-server/Makefile,v 1.80 2011/02/27 23:16:09 naddy Exp $
|
6
|
+
#
|
7
|
+
|
8
|
+
PORTNAME= xorg-server
|
9
|
+
PORTVERSION= 1.7.7
|
10
|
+
PORTREVISION= 1
|
11
|
+
PORTEPOCH= 1
|
12
|
+
CATEGORIES= x11-servers
|
13
|
+
MASTER_SITES= http://xorg.freedesktop.org/releases/individual/xserver/
|
14
|
+
DISTFILES= xorg-server-${PORTVERSION}.tar.bz2
|
15
|
+
|
16
|
+
MAINTAINER= x11@FreeBSD.org
|
17
|
+
COMMENT= X.Org X server and related programs
|
18
|
+
|
19
|
+
LIB_DEPENDS= drm:${PORTSDIR}/graphics/libdrm
|
20
|
+
|
21
|
+
RUN_DEPENDS= ${LOCALBASE}/share/X11/xkb/rules/base.xml:${PORTSDIR}/x11/xkeyboard-config
|
22
|
+
|
23
|
+
XORG_CAT= xserver
|
24
|
+
|
25
|
+
USE_GMAKE= yes
|
26
|
+
USE_GL= gl
|
27
|
+
USE_XORG= xf86driproto glproto xdmcp x11 xkbfile xxf86misc xxf86vm xaw7 \
|
28
|
+
xmu xt xpm xext randrproto renderproto fixesproto damageproto \
|
29
|
+
dri2proto xcmiscproto xextproto xproto xtrans xf86miscproto \
|
30
|
+
xf86vidmodeproto xf86bigfontproto scrnsaverproto bigreqsproto \
|
31
|
+
resourceproto fontsproto inputproto xf86dgaproto \
|
32
|
+
videoproto compositeproto trapproto recordproto xineramaproto \
|
33
|
+
xinerama evieproto xfont fontenc xkbui pixman pciaccess
|
34
|
+
|
35
|
+
MAKE_JOBS_UNSAFE= yes
|
36
|
+
USE_OPENSSL= yes
|
37
|
+
USE_PERL5_BUILD=yes
|
38
|
+
CONFIGURE_ARGS= --disable-dmx --disable-xvfb --disable-xnest \
|
39
|
+
--localstatedir=/var --without-dtrace --disable-xephyr \
|
40
|
+
--enable-record=yes
|
41
|
+
|
42
|
+
MAN1= Xorg.1 \
|
43
|
+
Xserver.1 \
|
44
|
+
cvt.1 \
|
45
|
+
gtf.1
|
46
|
+
MAN4= exa.4 \
|
47
|
+
fbdevhw.4
|
48
|
+
MAN5= xorg.conf.5
|
49
|
+
|
50
|
+
NOT_FOR_ARCHS= alpha
|
51
|
+
|
52
|
+
.if !defined(ARCH)
|
53
|
+
ARCH!= /usr/bin/uname -p
|
54
|
+
.endif
|
55
|
+
|
56
|
+
OPTIONS= AIGLX "Compile with Accelerated Indirect GLX support" on \
|
57
|
+
SUID "Install the Xorg server with setuid bit set" on
|
58
|
+
.if ${ARCH} == sparc64
|
59
|
+
OPTIONS+= HAL "Compile with HAL config support" off
|
60
|
+
.else
|
61
|
+
OPTIONS+= HAL "Compile with HAL config support" on
|
62
|
+
.endif
|
63
|
+
|
64
|
+
.include <bsd.port.pre.mk>
|
65
|
+
|
66
|
+
.if defined(WITH_OPENSSL_BASE)
|
67
|
+
# The reason why I use this is cause openssl from base doesn't install a .pc file
|
68
|
+
# and configure will fail trying to find it. Setting both of those variables to
|
69
|
+
# a *non-empty* value by-passes the pkg-config check.
|
70
|
+
CONFIGURE_ENV= SHA1_LIB="-L/usr/lib -lcrypto" SHA1_CFLAGS="-I/usr/include"
|
71
|
+
.endif
|
72
|
+
|
73
|
+
.if !defined(WITHOUT_HAL)
|
74
|
+
LIB_DEPENDS+= hal.1:${PORTSDIR}/sysutils/hal
|
75
|
+
CONFIGURE_ARGS+= --enable-config-hal=yes
|
76
|
+
.else
|
77
|
+
CONFIGURE_ARGS+= --enable-config-hal=no
|
78
|
+
.endif
|
79
|
+
|
80
|
+
.if !defined(WITHOUT_AIGLX)
|
81
|
+
CONFIGURE_ARGS+= --enable-aiglx=yes
|
82
|
+
.else
|
83
|
+
CONFIGURE_ARGS+= --enable-aiglx=no
|
84
|
+
.endif
|
85
|
+
|
86
|
+
.if !defined(WITHOUT_SUID) && (!defined(NO_SUID_XSERVER) || ${NO_SUID_XSERVER} == NO)
|
87
|
+
CONFIGURE_ARGS+=--enable-install-setuid=yes
|
88
|
+
.else
|
89
|
+
CONFIGURE_ARGS+=--enable-install-setuid=no
|
90
|
+
.endif
|
91
|
+
|
92
|
+
.if ${ARCH} == alpha
|
93
|
+
PLIST_SUB+= ALPHA_NA="@comment "
|
94
|
+
EXTRA_PATCHES= ${.CURDIR}/files/extra-arch-alpha
|
95
|
+
.else
|
96
|
+
PLIST_SUB+= ALPHA_NA=""
|
97
|
+
.endif
|
98
|
+
|
99
|
+
.if ${ARCH} == ia64
|
100
|
+
PLIST_SUB+= IA64_NA="@comment "
|
101
|
+
EXTRA_PATCHES= ${.CURDIR}/files/extra-arch-ia64
|
102
|
+
.else
|
103
|
+
PLIST_SUB+= IA64_NA=""
|
104
|
+
.endif
|
105
|
+
|
106
|
+
.if ${ARCH} == powerpc || ${ARCH} == powerpc64
|
107
|
+
PLIST_SUB+= PPC_NA="@comment "
|
108
|
+
EXTRA_PATCHES= ${.CURDIR}/files/extra-arch-powerpc
|
109
|
+
.else
|
110
|
+
PLIST_SUB+= PPC_NA=""
|
111
|
+
.endif
|
112
|
+
|
113
|
+
.if ${ARCH} == sparc64
|
114
|
+
PLIST_SUB+= SPARC64=""
|
115
|
+
PLIST_SUB+= SPARC64_NA="@comment "
|
116
|
+
.else
|
117
|
+
PLIST_SUB+= SPARC64="@comment "
|
118
|
+
PLIST_SUB+= SPARC64_NA=""
|
119
|
+
.endif
|
120
|
+
|
121
|
+
.if ${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == sparc64
|
122
|
+
PLIST_SUB+= AMD64_I386_SPARC64=""
|
123
|
+
.else
|
124
|
+
PLIST_SUB+= AMD64_I386_SPARC64="@comment "
|
125
|
+
.endif
|
126
|
+
|
127
|
+
.if !defined(WITHOUT_SUID) && (!defined(NO_SUID_XSERVER) || ${NO_SUID_XSERVER} == NO)
|
128
|
+
pre-everything::
|
129
|
+
@${ECHO_MSG} "By default, the X Server installs as a set-user-id root binary. When run by"
|
130
|
+
@${ECHO_MSG} "a normal user, it checks arguments and environment as done in the x11/wrapper"
|
131
|
+
@${ECHO_MSG} "port before handling them normally. If you are concerned about the security"
|
132
|
+
@${ECHO_MSG} "of this, but still want to run an X Server (for example using xdm/kdm/gdm,"
|
133
|
+
@${ECHO_MSG} "which will still run the server as root), you can cancel the build and set"
|
134
|
+
@${ECHO_MSG} "NO_SUID_XSERVER=YES in /etc/make.conf."
|
135
|
+
.endif
|
136
|
+
|
137
|
+
.include <bsd.port.post.mk>
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require_relative 'helper'
|
2
|
+
|
3
|
+
require_relative '../lib/pkg_noisrev/fbsdpackage.rb'
|
4
|
+
|
5
|
+
class TestFbsdPackage < MiniTest::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
# this runs every time before test_*
|
8
|
+
@cmd = cmd('pkg_noisrev') # get path to the exe & cd to tests directory
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_origin
|
12
|
+
assert_equal(FbsdPackage.origin(PKG_DIR, 'zip-3.0'),
|
13
|
+
['archivers/zip', 1])
|
14
|
+
assert_raises(Errno::ENOENT) { FbsdPackage.origin(PKG_DIR, 'notexists') }
|
15
|
+
assert_equal(FbsdPackage.origin(PKG_DIR, 'xmbdfed-4.7.1_2'),
|
16
|
+
['x11-fonts/xmbdfed', 3])
|
17
|
+
assert_equal(FbsdPackage.origin(PKG_DIR, 'invalid-1.0'),
|
18
|
+
[nil, 0])
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_parse_name
|
22
|
+
assert_equal(FbsdPackage.parse_name("foo-bar-4.7.1_2"), ['foo-bar', '4.7.1_2'])
|
23
|
+
assert_equal(FbsdPackage.parse_name(" "), [' ', '0'])
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_dir_collect
|
27
|
+
assert_match(assert_raises(RuntimeError) {
|
28
|
+
FbsdPackage.dir_collect "#{PKG_DIR}/zip-3.0"
|
29
|
+
}.message, /no package records in/)
|
30
|
+
|
31
|
+
q = Queue.new
|
32
|
+
q.push 'ports'
|
33
|
+
q.push 'package'
|
34
|
+
r = FbsdPackage.dir_collect PKG_DIR.parent
|
35
|
+
2.times { assert_equal(r.pop, q.pop) }
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_execution_default
|
39
|
+
#
|
40
|
+
r = Trestle.cmd_run("#{@cmd} --pkg-dir #{PKG_DIR} --ports-dir #{PORTS_DIR}")
|
41
|
+
# pp r[2].split("\n")
|
42
|
+
assert_equal(0, r[0])
|
43
|
+
assert_match(/^100% 3\/1\/2 .+\/0$/, r[2])
|
44
|
+
assert_match(/^\s*1.0 \?\s*invalid$/, r[2])
|
45
|
+
assert_match(/^\s*4.7.1_2 \?\s*xmbdfed$/, r[2])
|
46
|
+
assert_match(/^\s*3.0 = 3.0\s*zip$/, r[2])
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_execution_likeportmaster
|
50
|
+
# bin/pkg_noisrev --pkg-dir test/semis/package --ports-dir test/semis/ports --likeportmaster | egrep '^(\*|[ a-z])' | md5
|
51
|
+
r = Trestle.cmd_run("#{@cmd} --pkg-dir #{PKG_DIR} --ports-dir #{PORTS_DIR} --likeportmaster | egrep '^(\\*|[ a-z])' ")
|
52
|
+
assert_equal(0, r[0])
|
53
|
+
assert_equal(Digest::MD5.hexdigest(r[2]), '621543e28ce56b1bfe9c1ba074451364')
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_execution_with_bogus_pkg_dir
|
57
|
+
# bin/pkg_noisrev --pkg-dir test/semis --ports-dir test/semis/ports --likeportmaster | egrep '^(\*|[ a-z])' | md5
|
58
|
+
r = Trestle.cmd_run("#{@cmd} --pkg-dir #{PKG_DIR.parent} --ports-dir #{PORTS_DIR} --likeportmaster | egrep '^(\\*|[ a-z])' ")
|
59
|
+
assert_equal(0, r[0])
|
60
|
+
assert_equal(Digest::MD5.hexdigest(r[2]), 'db0f7e1a3d9d9b07f656acd63222339e')
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_execution_outofsync
|
64
|
+
# bin/pkg_noisrev --pkg-dir test/semis/package --ports-dir test/semis/ports --outofsync | egrep '^(\*|[ a-z])' | md5
|
65
|
+
r = Trestle.cmd_run("#{@cmd} --pkg-dir #{PKG_DIR} --ports-dir #{PORTS_DIR} --outofsync | egrep '^(\\*|[ a-z])' ")
|
66
|
+
assert_equal(0, r[0])
|
67
|
+
assert_equal(Digest::MD5.hexdigest(r[2]), '1245866b4edeba20373357902ca72cb8')
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require_relative 'helper'
|
2
|
+
|
3
|
+
require_relative '../lib/pkg_noisrev/fbsdpackage.rb'
|
4
|
+
|
5
|
+
class TestFbsdPorts < MiniTest::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
# this runs every time before test_*
|
8
|
+
@cmd = cmd('pkg_noisrev') # get path to the exe & cd to tests directory
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_version_dll
|
12
|
+
assert_equal(FbsdPackageVersion.version_cmp('1.1', '1.2'), -1)
|
13
|
+
assert_equal(FbsdPackageVersion.version_cmp('2.2.2', '2.2.2'), 0)
|
14
|
+
assert_equal(FbsdPackageVersion.version_cmp('2.2', '2.1'), 1)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_external_make
|
18
|
+
assert_equal(FbsdPort.ver_slow(PORTS_DIR.to_s, "x11-servers/xorg-server"),
|
19
|
+
"1.7.7_1,1")
|
20
|
+
assert_raises(Errno::ENOENT) {
|
21
|
+
FbsdPort.ver_slow(PORTS_DIR.to_s, "some/dir")
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_ver
|
26
|
+
assert_equal(FbsdPort.ver(PORTS_DIR.to_s, "x11-servers/xorg-server"),
|
27
|
+
"1.7.7_1,1")
|
28
|
+
assert_match(assert_raises(RuntimeError) {
|
29
|
+
FbsdPort.ver(PORTS_DIR.to_s, "some/dir")
|
30
|
+
}.message, /\(rlevel=0\) No such file or directory/)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_moved
|
34
|
+
r = FbsdPort.moved PORTS_DIR.to_s
|
35
|
+
assert_equal(r.size, 7)
|
36
|
+
assert_equal(r['science/bblimage'].date, '2011-07-28')
|
37
|
+
|
38
|
+
out, err = capture_io { FbsdPort.moved 'some/dir' }
|
39
|
+
assert_match(/parsing .+\/MOVED failed: No such file/, err)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
metadata
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pkg_noisrev
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.1
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Alexander Gromnitsky
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-08-04 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: open4
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.1.0
|
24
|
+
type: :runtime
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: git
|
28
|
+
prerelease: false
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 1.2.5
|
35
|
+
type: :development
|
36
|
+
version_requirements: *id002
|
37
|
+
description: A fast way to summarize installed versions of FreeBSD packages.
|
38
|
+
email: alexander.gromnitsky@gmail.com
|
39
|
+
executables:
|
40
|
+
- pkg_noisrev
|
41
|
+
extensions:
|
42
|
+
- ext/extconf.rb
|
43
|
+
extra_rdoc_files:
|
44
|
+
- doc/LICENSE
|
45
|
+
- doc/NEWS.rdoc
|
46
|
+
- doc/README.rdoc
|
47
|
+
- doc/TODO
|
48
|
+
files:
|
49
|
+
- Gemfile
|
50
|
+
- README.rdoc
|
51
|
+
- Rakefile
|
52
|
+
- bin/pkg_noisrev
|
53
|
+
- doc/LICENSE
|
54
|
+
- doc/NEWS.rdoc
|
55
|
+
- doc/README.rdoc
|
56
|
+
- doc/TODO
|
57
|
+
- etc/pkg_noisrev.yaml
|
58
|
+
- ext/extconf.rb
|
59
|
+
- ext/rakefile.rb
|
60
|
+
- ext/version.c
|
61
|
+
- ext/version.h
|
62
|
+
- lib/pkg_noisrev/fbsdpackage.rb
|
63
|
+
- lib/pkg_noisrev/fbsdpackageversion.rb
|
64
|
+
- lib/pkg_noisrev/meta.rb
|
65
|
+
- lib/pkg_noisrev/threads.rb
|
66
|
+
- lib/pkg_noisrev/trestle.rb
|
67
|
+
- test/helper.rb
|
68
|
+
- test/helper_trestle.rb
|
69
|
+
- test/rake_git.rb
|
70
|
+
- test/semis/package/invalid-1.0/+CONTENTS
|
71
|
+
- test/semis/package/xmbdfed-4.7.1_2/+COMMENT
|
72
|
+
- test/semis/package/xmbdfed-4.7.1_2/+CONTENTS
|
73
|
+
- test/semis/package/zip-3.0/+COMMENT
|
74
|
+
- test/semis/package/zip-3.0/+CONTENTS
|
75
|
+
- test/semis/package/zip-3.0/+REQUIRED_BY
|
76
|
+
- test/semis/ports/MOVED
|
77
|
+
- test/semis/ports/archivers/zip/Makefile
|
78
|
+
- test/semis/ports/x11-servers/xorg-server/Makefile
|
79
|
+
- test/test_fbsdpackages.rb
|
80
|
+
- test/test_fbsdports.rb
|
81
|
+
homepage: http://github.com/gromnitsky/pkg_noisrev
|
82
|
+
licenses: []
|
83
|
+
|
84
|
+
post_install_message:
|
85
|
+
rdoc_options:
|
86
|
+
- -m
|
87
|
+
- doc/README.rdoc
|
88
|
+
require_paths:
|
89
|
+
- lib
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 1.9.2
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: "0"
|
102
|
+
requirements: []
|
103
|
+
|
104
|
+
rubyforge_project:
|
105
|
+
rubygems_version: 1.8.5
|
106
|
+
signing_key:
|
107
|
+
specification_version: 3
|
108
|
+
summary: A fast way to summarize installed versions of FreeBSD packages
|
109
|
+
test_files:
|
110
|
+
- test/test_fbsdports.rb
|
111
|
+
- test/test_fbsdpackages.rb
|