New upstream version 8.1.0

This commit is contained in:
geos_one
2025-08-10 01:34:16 +02:00
commit c891bb7105
4398 changed files with 838833 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
shell-script-fails-syntax-check
init.d-script-does-not-source-init-functions
init.d-script-has-unknown-lsb-keyword
script-not-executable

8
debian/beegfs-client.postinst vendored Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/sh
set -e
mkdir -p /var/lib/beegfs/client/
touch /var/lib/beegfs/client/force-auto-build
#DEBHELPER#

6
debian/beegfs-client.postrm vendored Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/sh
set -e
rm -rf /lib/modules/*/updates/fs/beegfs_autobuild
#DEBHELPER#

View File

@@ -0,0 +1,2 @@
init.d-script-does-not-source-init-functions
init.d-script-has-unknown-lsb-keyword

2
debian/beegfs-meta.lintian-overrides vendored Normal file
View File

@@ -0,0 +1,2 @@
init.d-script-does-not-source-init-functions
init.d-script-has-unknown-lsb-keyword

View File

@@ -0,0 +1 @@
binary-without-manpage

View File

@@ -0,0 +1,2 @@
init.d-script-does-not-source-init-functions
init.d-script-has-unknown-lsb-keyword

2
debian/beegfs-utils.lintian-overrides vendored Normal file
View File

@@ -0,0 +1,2 @@
binary-without-manpage
description-is-pkg-name

2
debian/beeond.lintian-overrides vendored Normal file
View File

@@ -0,0 +1,2 @@
binary-without-manpage
script-not-executable

6
debian/changelog vendored Normal file
View File

@@ -0,0 +1,6 @@
beegfs (0-dev) unstable; urgency=low
* please see http://www.beegfs.com for changelog
-- BeeGFS Maintainers <packages@beegfs.com> Thu, 01 Jan 1970 01:00:00 +0100

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
12

113
debian/control vendored Normal file
View File

@@ -0,0 +1,113 @@
Source: beegfs
Section: misc
Priority: optional
Maintainer: BeeGFS Maintainers <packages@beegfs.com>
Build-Depends: debhelper (>= 12.0.0), lsb-release, librdmacm-dev, libibverbs-dev, kmod,
dkms (<= 3.0.0) | dh-dkms (>=3.0.0), pkg-config, zlib1g-dev, libnl-3-dev,
libnl-route-3-dev, libcurl-dev
Standards-Version: 4.1.4.1
Package: libbeegfs-ib
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: BeeGFS InfiniBand support
This package contains support libraries for InfiniBand.
Package: beegfs-meta
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libbeegfs-ib (= ${binary:Version})
Description: BeeGFS metadata server daemon
The package contains the BeeGFS metadata daemon.
Package: beegfs-storage
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libbeegfs-ib (= ${binary:Version})
Description: BeeGFS storage server daemon
This package contains the BeeGFS storage server binaries.
Package: beegfs-mon
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libbeegfs-ib (= ${binary:Version})
Description: BeeGFS mon daemon
The package contains the BeeGFS mon daemon.
Package: beegfs-mon-grafana
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: BeeGFS mon dashboards for Grafana
This package contains the BeeGFS mon dashboards to display monitoring data in Grafana.
The default dashboard setup requires both Grafana, and InfluxDB.
Package: beegfs-utils
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libbeegfs-ib (= ${binary:Version})
Description: BeeGFS utils
This package contains BeeGFS utilities.
Package: beegfs-utils-dev
Architecture: any
Depends: ${misc:Depends}
Description: BeeGFS utils devel files
This package contains BeeGFS development files and examples.
Package: beeond
Architecture: all
Depends: ${misc:Depends},
beegfs-utils (= ${binary:Version}), beegfs-mgmtd (= ${binary:Version}), beegfs-meta (= ${binary:Version}),
beegfs-storage (= ${binary:Version}),
beegfs-client (= ${binary:Version}) | beegfs-client-dkms (= ${binary:Version}),
psmisc
Description: BeeOND
This package contains BeeOND.
Package: beegfs-client
Architecture: all
Depends: ${misc:Depends}, build-essential
Conflicts: beegfs-client-dkms
Recommends: linux-headers-amd64
Description: BeeGFS client
This package contains scripts, config and source files to build and
start beegfs-client.
Package: beegfs-client-dkms
Architecture: all
Depends: ${misc:Depends}, dkms
Conflicts: beegfs-client
Recommends: linux-headers-amd64
Description: BeeGFS client (DKMS version)
This package contains scripts, config and source files to build and
start beegfs-client. It uses DKMS to build the kernel module.
Package: beegfs-client-compat
Architecture: all
Description: BeeGFS client compat module, allows one to run two different client versions.
This package allows one to build and to run a compatibility client
kernel module on a system that has a newer beegfs-client version
installed.
Depends: ${misc:Depends}, build-essential
Package: beegfs-client-dev
Architecture: any
Depends: ${misc:Depends}
Description: BeeGFS client development files
This package contains BeeGFS client development files.

121
debian/copyright vendored Normal file
View File

@@ -0,0 +1,121 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/ThinkParQ/beegfs
Files: *
Copyright: 2009 Fraunhofer ITWM, 2022 ThinkParQ GmbH
License: BeeGFS EULA
The complete text of this license can be found at
https://www.beegfs.io/docs/BeeGFS_EULA.txt
Files: client_module/*
Copyright: 2009 Fraunhofer ITWM, 2022 ThinkParQ GmbH
License: GPL-2
Files:
common/source/common/toolkit/BufferTk.cpp
client_module/source/common/toolkit/HashTk.c
Comment: Contain code for a hash function distributed under the following license
License: Paul Hsieh OLD BSD license
Copyright (c) 2010, Paul Hsieh All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
Neither my name, Paul Hsieh, nor the names of any other contributors to
the code use may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR SEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
Files: thirdparty/source/boost-1_61_0/*
License: Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Files: thirdparty/source/datastax/cassandra.h
License: Apache
Files: thirdparty/source/gtest-1.8.0/*
Copyright: 2008, Google Inc.
License:
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Files: thirdparty/source/nu
Copyright: 2017 Phoebe Buckheister
License:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

175
debian/rules vendored Executable file
View File

@@ -0,0 +1,175 @@
#!/usr/bin/make -f
# this is so awful
PAREN = )
BEEGFS_VERSION = $(shell head -n1 debian/changelog | grep -P --only-matching '(?<=\d:)[^$(PAREN)~]+')
BEEGFS_MAJOR = $(shell head -n1 debian/changelog | grep -P --only-matching '(?<=\d:)\d+')
BEEGFS_NVFS=1
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif
%:
dh $@ --parallel --with dkms
override_dh_auto_build:
make -j$(NUMJOBS) common-all daemons utils
# no build-runnable tests exist (yet)
override_dh_auto_test:
# package is split
override_dh_auto_install:
override_dh_install:
@# libbeeggfs-ib
install -D common/build/libbeegfs_ib.so \
debian/libbeegfs-ib/opt/beegfs/lib/libbeegfs_ib.so
@# daemons
make -j$(NUMJOBS) DESTDIR=debian/beegfs-meta meta-install
make -j$(NUMJOBS) DESTDIR=debian/beegfs-storage storage-install
make -j$(NUMJOBS) DESTDIR=debian/beegfs-mon mon-install
@# setup scripts
install -D storage/build/dist/sbin/beegfs-setup-storage \
debian/beegfs-storage/opt/beegfs/sbin/beegfs-setup-storage
install -D meta/build/dist/sbin/beegfs-setup-meta \
debian/beegfs-meta/opt/beegfs/sbin/beegfs-setup-meta
@# daemon configs and defaults
install -D -m644 storage/build/dist/etc/default/beegfs-storage \
debian/beegfs-storage.default
install -D -m644 storage/build/dist/etc/beegfs-storage.conf \
debian/beegfs-storage/etc/beegfs/beegfs-storage.conf
install -D -m644 meta/build/dist/etc/default/beegfs-meta \
debian/beegfs-meta.default
install -D -m644 meta/build/dist/etc/beegfs-meta.conf \
debian/beegfs-meta/etc/beegfs/beegfs-meta.conf
install -D -m644 mon/build/dist/etc/default/beegfs-mon \
debian/beegfs-mon.default
install -D -m644 mon/build/dist/etc/beegfs-mon.conf \
debian/beegfs-mon/etc/beegfs/beegfs-mon.conf
install -D -m600 mon/build/dist/etc/beegfs-mon.auth \
debian/beegfs-mon/etc/beegfs/beegfs-mon.auth
@# mon-grafana
mkdir -p debian/beegfs-mon-grafana/opt/beegfs/scripts/grafana
cp -a mon/scripts/grafana/* debian/beegfs-mon-grafana/opt/beegfs/scripts/grafana
@# utils
make -j$(NUMJOBS) DESTDIR=debian/beegfs-utils fsck-install event_listener-install
mkdir -p debian/beegfs-utils/sbin
cp -a utils/scripts/fsck.beegfs debian/beegfs-utils/sbin
mkdir -p debian/beegfs-utils/usr/bin
mkdir -p debian/beegfs-utils/opt/beegfs/lib
mkdir -p debian/beegfs-utils/usr/sbin
ln -s /opt/beegfs/sbin/beegfs-fsck debian/beegfs-utils/usr/sbin/beegfs-fsck
@# utils-dev
mkdir -p debian/beegfs-utils-dev/usr/include
cp -a event_listener/include/* debian/beegfs-utils-dev/usr/include/
mkdir -p debian/beegfs-utils-dev/usr/share/doc/beegfs-utils-dev/examples/beegfs-event-listener/source
cp -a event_listener/source/beegfs-event-listener.cpp \
debian/beegfs-utils-dev/usr/share/doc/beegfs-utils-dev/examples/beegfs-event-listener/source
mkdir -p debian/beegfs-utils-dev/usr/share/doc/beegfs-utils-dev/examples/beegfs-event-listener/build
cp -a event_listener/build/Makefile \
debian/beegfs-utils-dev/usr/share/doc/beegfs-utils-dev/examples/beegfs-event-listener/build/Makefile
@# beeond
mkdir -p debian/beeond/opt/beegfs/lib
mkdir -p debian/beeond/opt/beegfs/sbin
mkdir -p debian/beeond/usr/bin
install -D beeond/source/beeond debian/beeond/opt/beegfs/sbin/beeond
install -D beeond/source/beeond-cp debian/beeond/opt/beegfs/sbin/beeond-cp
cp beeond/scripts/lib/* debian/beeond/opt/beegfs/lib/
ln -s /opt/beegfs/sbin/beeond debian/beeond/usr/bin/beeond
ln -s /opt/beegfs/sbin/beeond-cp debian/beeond/usr/bin/beeond-cp
@# client
make -j$(NUMJOBS) -C client_module/build \
RELEASE_PATH=../../debian/beegfs-client/opt/beegfs/src/client \
BEEGFS_VERSION=$(BEEGFS_VERSION) prepare_release
# for compat package
mkdir -p debian/beegfs-client-compat/opt/beegfs/src/client
cp -a debian/beegfs-client/opt/beegfs/src/client/client_module_$(BEEGFS_MAJOR) \
debian/beegfs-client-compat/opt/beegfs/src/client/client_compat_module_$(BEEGFS_MAJOR)
# set the compat fstype
echo beegfs-$(BEEGFS_MAJOR) > \
debian/beegfs-client-compat/opt/beegfs/src/client/client_compat_module_$(BEEGFS_MAJOR)/build/beegfs.fstype
install -D client_module/build/dist/sbin/beegfs-client.init \
debian/beegfs-client/opt/beegfs/sbin/beegfs-client
mkdir -p debian/beegfs-client/etc/init.d
ln -s /opt/beegfs/sbin/beegfs-client debian/beegfs-client/etc/init.d/beegfs-client
install -D -m644 client_module/build/dist/etc/default/beegfs-client \
debian/beegfs-client.default
install -D -m644 client_module/build/dist/etc/beegfs-client.conf \
debian/beegfs-client/etc/beegfs/beegfs-client.conf
install -D -m644 client_module/build/dist/etc/beegfs-client-autobuild.conf \
debian/beegfs-client/etc/beegfs/beegfs-client-autobuild.conf
install -D -m644 client_module/build/dist/etc/beegfs-mounts.conf \
debian/beegfs-client/etc/beegfs/beegfs-mounts.conf
install -D -m644 client_module/scripts/etc/beegfs/lib/init-multi-mode.beegfs-client \
debian/beegfs-client/etc/beegfs/lib/init-multi-mode.beegfs-client
install -D client_module/build/dist/sbin/mount.beegfs \
debian/beegfs-client/sbin/mount.beegfs
install -D client_module/build/dist/sbin/beegfs-setup-client \
debian/beegfs-client/opt/beegfs/sbin/beegfs-setup-client
install -D client_module/build/dist/etc/beegfs-client-mount-hook.example \
debian/beegfs-client/etc/beegfs/beegfs-client-mount-hook.example
@# client-dkms
mkdir -p debian/beegfs-client-dkms/usr/src/beegfs-$(BEEGFS_VERSION)
cp -r client_module/build debian/beegfs-client-dkms/usr/src/beegfs-$(BEEGFS_VERSION)
cp -r client_module/source debian/beegfs-client-dkms/usr/src/beegfs-$(BEEGFS_VERSION)
cp -r client_module/include debian/beegfs-client-dkms/usr/src/beegfs-$(BEEGFS_VERSION)
rm -Rf debian/beegfs-client-dkms/usr/src/beegfs-$(BEEGFS_VERSION)/build/dist
sed -e 's/__VERSION__/$(BEEGFS_VERSION)/g' -e 's/__NAME__/beegfs/g' -e 's/__MODNAME__/beegfs/g' \
< client_module/dkms.conf.in \
> debian/beegfs-client-dkms.dkms
install -D -m644 client_module/build/dist/etc/beegfs-client.conf \
debian/beegfs-client-dkms/etc/beegfs/beegfs-client.conf
install -D -m644 client_module/build/dist/etc/beegfs-client-build.mk \
debian/beegfs-client-dkms/etc/beegfs/beegfs-client-build.mk
install -D client_module/build/dist/sbin/mount.beegfs \
debian/beegfs-client-dkms/sbin/mount.beegfs
@# client-dev
mkdir -p debian/beegfs-client-dev/usr/include
cp -a client_devel/include/beegfs debian/beegfs-client-dev/usr/include/
cp -a client_module/include/uapi/* debian/beegfs-client-dev/usr/include/beegfs/
sed -i '~s~uapi/beegfs_client~beegfs/beegfs_client~g' debian/beegfs-client-dev/usr/include/beegfs/*.h
mkdir -p debian/beegfs-client-dev/usr/share/doc/beegfs-client-dev/examples/
cp -a client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* \
debian/beegfs-client-dev/usr/share/doc/beegfs-client-dev/examples/
# Before dbgsym packages, package maintainers had to manually create their -dbg packages listed
# in the debian/control file. --dbgsym-migration=package-relation This option is used to migrate
# from a manual "-dbg" package (created with --dbg-package) to an automatic generated debug symbol package.
override_dh_strip:
dh_strip -pbeegfs-meta --dbgsym-migration='beegfs-meta-dbg (<< $(BEEGFS_VERSION)~)'
dh_strip -pbeegfs-mon --dbgsym-migration='beegfs-mon-dbg (<< $(BEEGFS_VERSION)~)'
dh_strip -pbeegfs-storage --dbgsym-migration='beegfs-storage-dbg (<< $(BEEGFS_VERSION)~)'
dh_strip -plibbeegfs-ib --dbgsym-migration='libbeegfs-ib-dbg (<< $(BEEGFS_VERSION)~)'
# avoid auto-start because default config is not useful
override_dh_installinit:
for component in storage meta mon; do \
cp $$component/build/dist/usr/lib/systemd/system/beegfs-$$component.service debian/; \
install -D -m644 $$component/build/dist/usr/lib/systemd/system/beegfs-$$component@.service \
debian/beegfs-$$component/lib/systemd/system/beegfs-$$component@.service; \
dh_installsystemd -p beegfs-$$component --no-enable --name=beegfs-$$component@ beegfs-$$component@.service; \
done
cp client_module/build/dist/usr/lib/systemd/system/beegfs-client.service debian/
cp client_module/build/dist/usr/lib/systemd/system/beegfs-client@.service debian/
dh_installsystemd
#
dh_installinit -pbeegfs-mon --no-stop-on-upgrade --no-start -- start 90 2 3 4 5 . stop 90 0 1 6 .
dh_installinit -pbeegfs-storage --no-stop-on-upgrade --no-start -- start 99 2 3 4 5 . stop 99 0 1 6 .
dh_installinit -pbeegfs-meta --no-stop-on-upgrade --no-start -- start 90 2 3 4 5 . stop 90 0 1 6 .
dh_installinit -pbeegfs-client --no-stop-on-upgrade --no-start -- start 99 2 3 4 5 . stop 99 0 1 6 .
dh_installinit -pbeegfs-client-compat --no-stop-on-upgrade --no-start -- start 99 2 3 4 5 . stop 99 0 1 6 .
# Debhelper 12.3 and dwz on Debian 10 error out with "dwz: Too few files for multifile optimization."
# We need to skip dh_dwz only for the beegfs-utils package.
# This can be removed once we stop supporting Debian 10 (Buster). The issue is fixed in Debian 11 (Bullseye).
override_dh_dwz:
for pkg in $(dh_listpackages); do \
if [ "$$pkg" != "beegfs-utils" ]; then \
dh_dwz -p $$pkg; \
fi \
done