Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 9914060dfbb3
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 103e2c4efb1b
Choose a head ref
  • 18 commits
  • 31 files changed
  • 4 contributors

Commits on Mar 22, 2018

  1. linux: 4.14.28 -> 4.14.29

    (cherry picked from commit deb9ff1)
    NeQuissimus committed Mar 22, 2018
    Copy the full SHA
    80c6cd1 View commit details
  2. linux: 4.15.11 -> 4.15.12

    (cherry picked from commit 55b96a4)
    NeQuissimus committed Mar 22, 2018

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    ad06aec View commit details
  3. prometheus-blackbox-exporter: 0.11.0 -> 0.12.0

    (cherry picked from commit 1497815)
    fpletz committed Mar 22, 2018
    Copy the full SHA
    96c97c5 View commit details
  4. Copy the full SHA
    a6146ec View commit details
  5. prometheus-node-exporter: 0.15.0 -> 0.15.2

    (cherry picked from commit 9152ef9)
    fpletz committed Mar 22, 2018
    Copy the full SHA
    5150a7e View commit details
  6. matterircd: 0.12.0 -> 0.16.5

    (cherry picked from commit 7dee8ab)
    fpletz committed Mar 22, 2018
    Copy the full SHA
    8b578b8 View commit details
  7. squid4: 4.0.23 -> 4.0.24

    (cherry picked from commit 1e15d08)
    fpletz committed Mar 22, 2018
    Copy the full SHA
    0782536 View commit details
  8. nmap: 7.60 -> 7.70

    (cherry picked from commit f2fea90)
    fpletz committed Mar 22, 2018
    Copy the full SHA
    2b397bf View commit details
  9. altcoins.masari: init at 0.1.4.0

    (cherry picked from commit ab5f98a)
    fpletz committed Mar 22, 2018
    Copy the full SHA
    b8673bc View commit details
  10. zfs, spl: 0.7.6 -> 0.7.7

    Remove spl patch that was introduced for grsecurity which we don't support
    anymore. ZFS now needs perl for some scripts that are call in the configure
    script.
    
    (cherry picked from commit f744f83)
    fpletz committed Mar 22, 2018
    Copy the full SHA
    8c3cb02 View commit details
  11. gitlab-shell: fix config path finding

    and remove TimeoutSec for gitlab
    
    (cherry picked from commit 31d77fd)
    globin committed Mar 22, 2018
    Copy the full SHA
    75842fe View commit details
  12. gitlab-shell: 5.10.2 -> 6.0.3

    (cherry picked from commit 08bf874)
    ciil authored and globin committed Mar 22, 2018
    Copy the full SHA
    5445bb1 View commit details
  13. gitlab-workhorse: 3.3.1 -> 3.6.0

    (cherry picked from commit 9ccd010)
    ciil authored and globin committed Mar 22, 2018
    Copy the full SHA
    9680902 View commit details
  14. gitaly: 0.59.2 -> 0.81.0

    (cherry picked from commit 73a7f98)
    globin committed Mar 22, 2018
    Copy the full SHA
    ca3bf23 View commit details
  15. gitlab: 10.3.4 -> 10.5.4

    (cherry picked from commit 1b55905)
    ciil authored and globin committed Mar 22, 2018
    Copy the full SHA
    d6595b4 View commit details
  16. gitlab: 10.5.4 -> 10.5.6

    (cherry picked from commit 08946ef)
    globin committed Mar 22, 2018
    Copy the full SHA
    07d1b17 View commit details
  17. gitlab service: use recommended unicorn config

    (cherry picked from commit e5a854e)
    fpletz authored and globin committed Mar 22, 2018
    Copy the full SHA
    eb80bdc View commit details
  18. graylog: use jre_headless

    (cherry picked from commit fa34716)
    globin committed Mar 22, 2018
    Copy the full SHA
    103e2c4 View commit details
Showing with 559 additions and 604 deletions.
  1. +1 −1 nixos/modules/services/logging/graylog.nix
  2. +52 −188 nixos/modules/services/misc/defaultUnicornConfig.rb
  3. +5 −1 nixos/modules/services/misc/gitlab.nix
  4. +2 −0 pkgs/applications/altcoins/default.nix
  5. +27 −0 pkgs/applications/altcoins/masari.nix
  6. +9 −2 pkgs/applications/version-management/gitaly/Gemfile
  7. +41 −18 pkgs/applications/version-management/gitaly/Gemfile.lock
  8. +2 −2 pkgs/applications/version-management/gitaly/default.nix
  9. +92 −23 pkgs/applications/version-management/gitaly/gemset.nix
  10. +5 −25 pkgs/applications/version-management/gitlab-shell/default.nix
  11. +3 −4 pkgs/applications/version-management/gitlab-shell/fixes.patch
  12. +15 −28 pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
  13. +2 −2 pkgs/applications/version-management/gitlab-workhorse/default.nix
  14. +35 −21 pkgs/applications/version-management/gitlab/Gemfile
  15. +79 −58 pkgs/applications/version-management/gitlab/Gemfile.lock
  16. +5 −4 pkgs/applications/version-management/gitlab/default.nix
  17. +126 −73 pkgs/applications/version-management/gitlab/gemset.nix
  18. +0 −33 pkgs/applications/version-management/gitlab/nulladapter.patch
  19. +29 −33 pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
  20. +2 −2 pkgs/os-specific/linux/kernel/linux-4.14.nix
  21. +2 −2 pkgs/os-specific/linux/kernel/linux-4.15.nix
  22. +0 −13 pkgs/os-specific/linux/spl/const.patch
  23. +3 −3 pkgs/os-specific/linux/spl/default.nix
  24. +9 −4 pkgs/os-specific/linux/zfs/default.nix
  25. +3 −3 pkgs/servers/mattermost/matterircd.nix
  26. +2 −2 pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
  27. +2 −2 pkgs/servers/monitoring/prometheus/node-exporter.nix
  28. +2 −2 pkgs/servers/squid/4.nix
  29. +2 −4 pkgs/tools/security/clamav/default.nix
  30. +0 −49 pkgs/tools/security/clamav/fd-leak.patch
  31. +2 −2 pkgs/tools/security/nmap/default.nix
2 changes: 1 addition & 1 deletion nixos/modules/services/logging/graylog.nix
Original file line number Diff line number Diff line change
@@ -141,7 +141,7 @@ in
JAVA_HOME = jre;
GRAYLOG_CONF = "${confFile}";
};
path = [ pkgs.openjdk8 pkgs.which pkgs.procps ];
path = [ pkgs.jre_headless pkgs.which pkgs.procps ];
preStart = ''
mkdir -p /var/lib/graylog -m 755
240 changes: 52 additions & 188 deletions nixos/modules/services/misc/defaultUnicornConfig.rb
Original file line number Diff line number Diff line change
@@ -1,205 +1,69 @@
# The following was taken from github.com/crohr/syslogger and is BSD
# licensed.
require 'syslog'
require 'logger'
require 'thread'
worker_processes 3

class Syslogger

VERSION = "1.6.0"

attr_reader :level, :ident, :options, :facility, :max_octets
attr_accessor :formatter

MAPPING = {
Logger::DEBUG => Syslog::LOG_DEBUG,
Logger::INFO => Syslog::LOG_INFO,
Logger::WARN => Syslog::LOG_WARNING,
Logger::ERROR => Syslog::LOG_ERR,
Logger::FATAL => Syslog::LOG_CRIT,
Logger::UNKNOWN => Syslog::LOG_ALERT
}

#
# Initializes default options for the logger
# <tt>ident</tt>:: the name of your program [default=$0].
# <tt>options</tt>:: syslog options [default=<tt>Syslog::LOG_PID | Syslog::LOG_CONS</tt>].
# Correct values are:
# LOG_CONS : writes the message on the console if an error occurs when sending the message;
# LOG_NDELAY : no delay before sending the message;
# LOG_PERROR : messages will also be written on STDERR;
# LOG_PID : adds the process number to the message (just after the program name)
# <tt>facility</tt>:: the syslog facility [default=nil] Correct values include:
# Syslog::LOG_DAEMON
# Syslog::LOG_USER
# Syslog::LOG_SYSLOG
# Syslog::LOG_LOCAL2
# Syslog::LOG_NEWS
# etc.
#
# Usage:
# logger = Syslogger.new("my_app", Syslog::LOG_PID | Syslog::LOG_CONS, Syslog::LOG_LOCAL0)
# logger.level = Logger::INFO # use Logger levels
# logger.warn "warning message"
# logger.debug "debug message"
#
def initialize(ident = $0, options = Syslog::LOG_PID | Syslog::LOG_CONS, facility = nil)
@ident = ident
@options = options || (Syslog::LOG_PID | Syslog::LOG_CONS)
@facility = facility
@level = Logger::INFO
@mutex = Mutex.new
@formatter = Logger::Formatter.new
end

%w{debug info warn error fatal unknown}.each do |logger_method|
# Accepting *args as message could be nil.
# Default params not supported in ruby 1.8.7
define_method logger_method.to_sym do |*args, &block|
return true if @level > Logger.const_get(logger_method.upcase)
message = args.first || block && block.call
add(Logger.const_get(logger_method.upcase), message)
end

unless logger_method == 'unknown'
define_method "#{logger_method}?".to_sym do
@level <= Logger.const_get(logger_method.upcase)
end
end
end

# Log a message at the Logger::INFO level. Useful for use with Rack::CommonLogger
def write(msg)
add(Logger::INFO, msg)
end

# Logs a message at the Logger::INFO level.
def <<(msg)
add(Logger::INFO, msg)
end

# Low level method to add a message.
# +severity+:: the level of the message. One of Logger::DEBUG, Logger::INFO, Logger::WARN, Logger::ERROR, Logger::FATAL, Logger::UNKNOWN
# +message+:: the message string.
# If nil, the method will call the block and use the result as the message string.
# If both are nil or no block is given, it will use the progname as per the behaviour of both the standard Ruby logger, and the Rails BufferedLogger.
# +progname+:: optionally, overwrite the program name that appears in the log message.
def add(severity, message = nil, progname = nil, &block)
if message.nil? && block.nil? && !progname.nil?
message, progname = progname, nil
end
progname ||= @ident

@mutex.synchronize do
Syslog.open(progname, @options, @facility) do |s|
s.mask = Syslog::LOG_UPTO(MAPPING[@level])
communication = clean(message || block && block.call)
if self.max_octets
buffer = "#{tags_text}"
communication.bytes do |byte|
buffer.concat(byte)
# if the last byte we added is potentially part of an escape, we'll go ahead and add another byte
if buffer.bytesize >= self.max_octets && !['%'.ord,'\\'.ord].include?(byte)
s.log(MAPPING[severity],buffer)
buffer = ""
end
end
s.log(MAPPING[severity],buffer) unless buffer.empty?
else
s.log(MAPPING[severity],"#{tags_text}#{communication}")
end
end
end
end

# Set the max octets of the messages written to the log
def max_octets=(max_octets)
@max_octets = max_octets
end

# Sets the minimum level for messages to be written in the log.
# +level+:: one of <tt>Logger::DEBUG</tt>, <tt>Logger::INFO</tt>, <tt>Logger::WARN</tt>, <tt>Logger::ERROR</tt>, <tt>Logger::FATAL</tt>, <tt>Logger::UNKNOWN</tt>
def level=(level)
level = Logger.const_get(level.to_s.upcase) if level.is_a?(Symbol)

unless level.is_a?(Fixnum)
raise ArgumentError.new("Invalid logger level `#{level.inspect}`")
end

@level = level
end

# Sets the ident string passed along to Syslog
def ident=(ident)
@ident = ident
end

# Tagging code borrowed from ActiveSupport gem
def tagged(*tags)
new_tags = push_tags(*tags)
yield self
ensure
pop_tags(new_tags.size)
end

def push_tags(*tags)
tags.flatten.reject{ |i| i.respond_to?(:empty?) ? i.empty? : !i }.tap do |new_tags|
current_tags.concat new_tags
end
end

def pop_tags(size = 1)
current_tags.pop size
end

def clear_tags!
current_tags.clear
end

protected

# Borrowed from SyslogLogger.
def clean(message)
message = message.to_s.dup
message.strip! # remove whitespace
message.gsub!(/\n/, '\\n') # escape newlines
message.gsub!(/%/, '%%') # syslog(3) freaks on % (printf)
message.gsub!(/\e\[[^m]*m/, '') # remove useless ansi color codes
message
end

private

def tags_text
tags = current_tags
if tags.any?
tags.collect { |tag| "[#{tag}] " }.join
end
end

def current_tags
Thread.current[:syslogger_tagged_logging_tags] ||= []
end
end
listen ENV["UNICORN_PATH"] + "/tmp/sockets/gitlab.socket", :backlog => 1024
listen "/run/gitlab/gitlab.socket", :backlog => 1024

worker_processes 2
working_directory ENV["GITLAB_PATH"]
pid ENV["UNICORN_PATH"] + "/tmp/pids/unicorn.pid"

listen ENV["UNICORN_PATH"] + "/tmp/sockets/gitlab.socket", :backlog => 1024
pid ENV["UNICORN_PATH"] + "/tmp/pids/unicorn.pid"

timeout 60

logger Syslogger.new

# combine Ruby 2.0.0dev or REE with "preload_app true" for memory savings
# http://rubyenterpriseedition.com/faq.html#adapt_apps_for_cow
preload_app true

GC.respond_to?(:copy_on_write_friendly=) and
GC.copy_on_write_friendly = true

check_client_connection false

before_fork do |server, worker|
# the following is highly recommended for Rails + "preload_app true"
# as there's no need for the master process to hold a connection
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect!

# The following is only recommended for memory/DB-constrained
# installations. It is not needed if your system can house
# twice as many worker_processes as you have configured.
#
# This allows a new master process to incrementally
# phase out the old master process with SIGTTOU to avoid a
# thundering herd (especially in the "preload_app false" case)
# when doing a transparent upgrade. The last worker spawned
# will then kill off the old master process with a SIGQUIT.
old_pid = "#{server.config[:pid]}.oldbin"
if old_pid != server.pid
begin
sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU
Process.kill(sig, File.read(old_pid).to_i)
rescue Errno::ENOENT, Errno::ESRCH
end
end

# Throttle the master from forking too quickly by sleeping. Due
# to the implementation of standard Unix signal handlers, this
# helps (but does not completely) prevent identical, repeated signals
# from being lost when the receiving process is busy.
# sleep 1
end

after_fork do |server, worker|
# per-process listener ports for debugging/admin/migrations
# addr = "127.0.0.1:#{9293 + worker.nr}"
# server.listen(addr, :tries => -1, :delay => 5, :tcp_nopush => true)

# the following is *required* for Rails + "preload_app true",
defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection

# reset prometheus client, this will cause any opened metrics files to be closed
defined?(::Prometheus::Client.reinitialize_on_pid_change) &&
Prometheus::Client.reinitialize_on_pid_change

# if preload_app is true, then you may also want to check and
# restart any other shared sockets/descriptors such as Memcached,
# and Redis. TokyoCabinet file handles are safe to reuse
# between any number of forked children (assuming your kernel
# correctly implements pread()/pwrite() system calls)
end
6 changes: 5 additions & 1 deletion nixos/modules/services/misc/gitlab.nix
Original file line number Diff line number Diff line change
@@ -143,6 +143,7 @@ let
GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/";
GITLAB_STATE_PATH = "${cfg.statePath}";
GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads";
SCHEMA = "${cfg.statePath}/db/schema.rb";
GITLAB_LOG_PATH = "${cfg.statePath}/log";
GITLAB_SHELL_PATH = "${cfg.packages.gitlab-shell}";
GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/shell/config.yml";
@@ -500,7 +501,7 @@ in {
Type = "simple";
User = cfg.user;
Group = cfg.group;
TimeoutSec = "300";
TimeoutSec = "infinity";
Restart = "on-failure";
WorkingDirectory = gitlabEnv.HOME;
ExecStart = "${cfg.packages.gitaly}/bin/gitaly ${gitalyToml}";
@@ -566,6 +567,7 @@ in {
mkdir -p ${cfg.statePath}/tmp/pids
mkdir -p ${cfg.statePath}/tmp/sockets
mkdir -p ${cfg.statePath}/shell
mkdir -p ${cfg.statePath}/db
rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks
mkdir -p ${cfg.statePath}/config
@@ -580,13 +582,15 @@ in {
ln -sf ${cfg.statePath}/log /run/gitlab/log
ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
ln -sf $GITLAB_SHELL_CONFIG_PATH /run/gitlab/shell-config.yml
chown -R ${cfg.user}:${cfg.group} /run/gitlab
# Prepare home directory
mkdir -p ${gitlabEnv.HOME}/.ssh
touch ${gitlabEnv.HOME}/.ssh/authorized_keys
chown -R ${cfg.user}:${cfg.group} ${gitlabEnv.HOME}/
cp -rf ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
${optionalString cfg.smtp.enable ''
ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
2 changes: 2 additions & 0 deletions pkgs/applications/altcoins/default.nix
Original file line number Diff line number Diff line change
@@ -46,6 +46,8 @@ rec {
litecoin = callPackage ./litecoin.nix { withGui = true; };
litecoind = callPackage ./litecoin.nix { withGui = false; };

masari = callPackage ./masari.nix { };

memorycoin = callPackage ./memorycoin.nix { boost = boost165; withGui = true; };
memorycoind = callPackage ./memorycoin.nix { boost = boost165; withGui = false; };

27 changes: 27 additions & 0 deletions pkgs/applications/altcoins/masari.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, unbound, openssl, boost
, lmdb, miniupnpc, readline }:

stdenv.mkDerivation rec {
name = "masari-${version}";
version = "0.1.4.0";

src = fetchFromGitHub {
owner = "masari-project";
repo = "masari";
rev = "v${version}";
sha256 = "0l6i21wkq5f6z8xr756i7vqgkzk7lixaa31ydy34fkfcqxppgxz3";
};

nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ boost miniupnpc openssl lmdb unbound readline ];

enableParallelBuilding = true;

meta = with lib; {
description = "scalability-focused, untraceable, secure, and fungible cryptocurrency using the RingCT protocol";
homepage = "https://www.getmasari.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ fpletz ];
platforms = platforms.linux;
};
}
11 changes: 9 additions & 2 deletions pkgs/applications/version-management/gitaly/Gemfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
source 'https://rubygems.org'

gem 'github-linguist', '~> 4.7.0', require: 'linguist'
gem 'gitaly-proto', '~> 0.59.0', require: 'gitaly'
gem 'activesupport'
gem 'gitlab-markup', '~> 1.6.2'
gem 'gitaly-proto', '~> 0.83.0', require: 'gitaly'
gem 'activesupport', '~> 5.0.2'
gem 'rdoc', '~> 4.2'
gem 'gollum-lib', '~> 4.2', require: false
gem 'gollum-rugged_adapter', '~> 0.4.4', require: false
gem 'grpc', '~> 1.8.0'

# Locked until https://github.com/google/protobuf/issues/4210 is closed
gem 'google-protobuf', '= 3.5.1'

group :development, :test do
gem 'gitlab-styles', '~> 2.0.0', require: false
gem 'rspec', require: false
end
Loading