Skip to content

Fty remerge 20220225 #169

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

Open
wants to merge 825 commits into
base: FTY
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
825 commits
Select commit Hold shift + click to select a range
94a2412
drivers/snmp-ups.h: update comment to clarify the meaning of SU_TYPE_…
jimklimov Apr 14, 2022
e11bf56
docs/daisychain.txt: fix formatting
jimklimov Apr 14, 2022
148ae15
docs/design.txt: fix formatting; note FIXMEs for documenting TRACKING…
jimklimov Apr 14, 2022
842fe0f
docs/developer-guide.txt: fix formatting; update URL to evolution500.seq
jimklimov Apr 14, 2022
33c135e
docs/developers.txt: fix formatting, extend some notes
jimklimov Apr 14, 2022
5d14ee6
Update nut.dict
jimklimov Apr 14, 2022
f63f659
docs/FAQ.txt: fix formatting, extend some notes
jimklimov Apr 14, 2022
bc92a94
docs/net-protocol.txt: fix version table formatting
jimklimov Apr 14, 2022
9b37adc
docs/new-clients.txt: fix sample source formatting
jimklimov Apr 14, 2022
76e82ee
docs/nut-names.txt: fix table formatting
jimklimov Apr 14, 2022
98f4015
Fix remaining links to asciidoc.org
jimklimov Apr 14, 2022
86f47eb
docs/nut-qa.txt: list a few more tools we use
jimklimov Apr 14, 2022
ff94c8b
docs/packager-guide.txt: reshuffle known names
jimklimov Apr 14, 2022
331aa7c
docs/snmp-subdrivers.txt: small typo
jimklimov Apr 14, 2022
dc9b9a8
docs/sock-protocol.txt: fix formatting
jimklimov Apr 14, 2022
28813ff
docs/man/adelsystem_cbi.txt: fix formatting
jimklimov Apr 14, 2022
8022ad7
docs/man/blazer-common.txt, masterguard.txt, bestups.txt: fix formatt…
jimklimov Apr 14, 2022
6b70143
docs/man/clone.txt: fix sample source formatting
jimklimov Apr 14, 2022
09f4902
docs/man/liebert-esp2.txt: fix formatting
jimklimov Apr 14, 2022
d553af3
docs/man/mge-utalk.txt: fix formatting
jimklimov Apr 14, 2022
737342a
docs/man/nut.conf.txt: fix sample source formatting
jimklimov Apr 14, 2022
34a2a4b
docs/man/nutdrv_atcl_usb.txt: fix formatting
jimklimov Apr 14, 2022
55107f6
docs/man/nutdrv_qx.txt: fix formatting
jimklimov Apr 14, 2022
3cbe7f1
docs/man/pijuice.txt: fix formatting
jimklimov Apr 14, 2022
68fd3dc
docs/man/Makefile.am: list the socomec_jbus.txt
jimklimov Apr 14, 2022
a0aef5e
docs/man/socomec_jbus.txt: fix formatting and typos
jimklimov Apr 14, 2022
7b189d2
docs/man/snmp-ups.txt: fix sample source formatting
jimklimov Apr 14, 2022
955522f
docs/man/riello_usb.txt: fix formatting
jimklimov Apr 14, 2022
2ee9193
docs/man/riello_ser.txt: fix formatting
jimklimov Apr 14, 2022
d2f5ef2
docs/man/tripplite_usb.txt: fix formatting
jimklimov Apr 14, 2022
ec1f3ad
docs/man/upsmon.txt: reword a dangling sentence
jimklimov Apr 14, 2022
12886ed
docs/man/upscli*.txt: fix sample source formatting
jimklimov Apr 14, 2022
6a74e79
docs/man/nutscan*.txt: fix formatting and typos
jimklimov Apr 14, 2022
1847ec5
GitIgnore more intermediate XML files from docs generation
jimklimov Apr 15, 2022
3226db4
GitIgnore IDEA metadata files
jimklimov Apr 15, 2022
2138076
ci_build.sh: add notes to Consider `--enable-maintainer-mode`
jimklimov Apr 15, 2022
4a6dd53
docs/Makefile.am: DOCBUILD_BEGIN: symlink images/ ONLY for PDF genera…
jimklimov Apr 15, 2022
d1bf651
docs/man/upsd.txt, nutupsdrv.txt: reformat lists of drivers and tools…
jimklimov Apr 15, 2022
1309fab
docs/man/index.txt: generate current list of drivers, separate "Drive…
jimklimov Apr 15, 2022
fa173ec
docs/man/upsd.txt, nutupsdrv.txt: generate current list of drivers
jimklimov Apr 15, 2022
e1bd74f
docs/man/upsd.txt, nutupsdrv.txt, index.txt: move common nutupsdrv[8]…
jimklimov Apr 15, 2022
f93f642
docs/man/index.txt, upsd.txt, nutupsdrv.txt: generate the up-to-date …
jimklimov Apr 15, 2022
34d476d
docs/support.txt: mention github instead of subversion
jimklimov Apr 15, 2022
9a5ce9a
docs/man/belkinunv.txt: add link to protocol description copy on NUT …
jimklimov Apr 15, 2022
8e1d1d5
docs/man/phoenixcontact_modbus.txt: wrap long lines
jimklimov Apr 15, 2022
4b8db64
docs/man/optiups.txt: wrap long lines
jimklimov Apr 15, 2022
883e7d8
docs/man/snmp-ups.txt: wrap long lines and reword a bit
jimklimov Apr 15, 2022
1f21e75
docs/man/snmp-ups.txt: list AUTHORS as a bulleted list and add Jim Kl…
jimklimov Apr 15, 2022
1f38c92
docs/man/nut-driver-enumerator.txt: list Jim Klimov as the AUTHOR
jimklimov Apr 15, 2022
e97060d
docs/man/upsdrvsvcctl.txt: list Jim Klimov as the AUTHOR
jimklimov Apr 15, 2022
6d194b8
docs/man/*.txt: reformat AUTHOR(S) and INTERNET RESOURCES blocks to c…
jimklimov Apr 15, 2022
ef0a294
docs/nut.dict: spellcheck drivertool
jimklimov Apr 15, 2022
6845406
docs/man/nutscan*.txt: wrap long lines, minor rephrase, fix timeouts …
jimklimov Apr 15, 2022
1a8985b
docs/man/nutscan_scan_ipmi.txt: document the method which now is impl…
jimklimov Apr 15, 2022
0345d04
docs/man/nutscan_scan_xml_http_range.txt: document the method which g…
jimklimov Apr 15, 2022
2baa2e8
docs/man/nutscan*.txt: document methods with (void) arg list as such
jimklimov Apr 15, 2022
9f8c653
docs/man/upscli*.txt: wrap long lines, minor rephrase
jimklimov Apr 15, 2022
aaf73ca
docs/man/upscli_strerror.txt: fix return type modifier to const
jimklimov Apr 15, 2022
b4554ae
docs/man/libnutclient_commands.txt: wrap long lines, minor rephrase, …
jimklimov Apr 15, 2022
c65a0e2
docs/man/libnutclient_devices.txt: wrap long lines, minor rephrase, b…
jimklimov Apr 15, 2022
f1ee8f5
docs/man/libnutclient_devices.txt, libnutclient_commands.txt: synopsi…
jimklimov Apr 15, 2022
ddbc808
docs/man/libnutclient*.txt: wrap long lines, minor rephrase, bullet p…
jimklimov Apr 15, 2022
6bdf766
ci_build.sh: "cat" the "git diff"
jimklimov Apr 16, 2022
c327825
docs/man/Makefile.am: generate linkman-drivertool*names.txt independe…
jimklimov Apr 16, 2022
e44020e
docs/man/Makefile.am: avoid spurious regeneration of linkman-driverto…
jimklimov Apr 16, 2022
483bcae
docs/man/Makefile.am: ensure linkman-drivertool*names.txt are in A2X_…
jimklimov Apr 16, 2022
9f8f83a
docs/man/Makefile.am: ensure linkman-drivertool*names.txt are in buil…
jimklimov Apr 16, 2022
3fb3175
docs/man/Makefile.am: DOCBUILD_BEGIN: work around older BSD make not …
jimklimov Apr 16, 2022
04d3d41
docs/man/Makefile.am: abstract filenames into LINKMAN_INCLUDE_GENERAT…
jimklimov Apr 16, 2022
573a03a
Merge pull request #1372 from jimklimov/issue-1362
jimklimov Apr 17, 2022
0f697ab
docs/man/Makefile.am: `$(<F)` is not POSIX compliant, while `$(@F)` i…
jimklimov Apr 18, 2022
76c4cc9
clients/nutclient.{cpp,h}: fix port type from unsigned short to uint16_t
jimklimov Apr 18, 2022
4f760ba
clients/upsclient.{c,h} docs/man/upscli_{read,send}line.txt: fix time…
jimklimov Apr 18, 2022
9e4a8ec
clients/upsclient.h: fix whitespace
jimklimov Apr 18, 2022
7829f4d
docs/man/libnutclient_variables.txt: fix English
jimklimov Apr 18, 2022
0d61b63
clients/upsclient.{c,h} and many clients + dummy-ups: fix port from i…
jimklimov Apr 18, 2022
758786d
clients/nutclient.{cpp,h} docs/man/libnutclient_tcp.txt: fix timeout …
jimklimov Apr 18, 2022
eb5eea5
clients/nutclient{mem}.{cpp,h} docs/man/libnutclient_misc.txt: add PR…
jimklimov Apr 18, 2022
2c25a2d
clients/nutclient.{cpp,h}: deviceMaster()/devicePrimary(): add fallba…
jimklimov Apr 18, 2022
c79cd07
conf/ups.conf.sample: update with info from docs/man/ups.conf.txt
jimklimov Apr 19, 2022
c95a10b
test_nutclient.py.in: allow to override NUT_PORT, NUT_USER, NUT_PASS
jimklimov Apr 19, 2022
b5696f0
upsrw: accept "-l" for listing
jimklimov Apr 19, 2022
22a32f1
NIT: NUT Integration Tests (usable PoC) [another take at issue #3]
jimklimov Apr 19, 2022
bce1d52
Merge pull request #1380 from jimklimov/issue-1362
jimklimov Apr 19, 2022
d38dd62
tests/NIT/nit.sh: document DEBUG_SLEEP a bit
jimklimov Apr 20, 2022
f2d6a04
tests/Makefile.am: call NIT suite
jimklimov Apr 20, 2022
bf5158a
tests/NIT/nit.sh: bail out quickly if got no daemons to run
jimklimov Apr 20, 2022
34a0581
tests/NIT/nit.sh: sanity checks for BUILDDIR
jimklimov Apr 20, 2022
7bc4b66
tests/NIT/nit.sh: typo fix for SRCDIR
jimklimov Apr 20, 2022
989c445
tests/NIT/nit.sh: make some debug noise optional
jimklimov Apr 20, 2022
41f6001
docs/nut-qa.txt: mention NUT NIT and update links to Ubuntu QART
jimklimov Apr 20, 2022
88f5f17
tests/Makefile.am: help check-NIT pass in distcheck
jimklimov Apr 20, 2022
c43214e
tests/NIT/README: update a bit
jimklimov Apr 20, 2022
367e1da
tests/Makefile.am: help check-NIT pass in distcheck (cleaner)
jimklimov Apr 20, 2022
86fdf7c
tests/NIT: warn in docs/comments that starting pwd should be the BUIL…
jimklimov Apr 20, 2022
fdbf4cd
Makefile.am: let "make check-NIT" from root dir
jimklimov Apr 20, 2022
c7505e3
Makefile.am: fix "make check-docs" and siblings from root dir
jimklimov Apr 20, 2022
e198f2e
configure.ac: fix detection of cppunit on some platforms
jimklimov Apr 20, 2022
b136206
Add tests/NIT/Makefile.am for straightforward integration of the test…
jimklimov Apr 20, 2022
99fa71a
tests/NIT/nit.sh: let caller customize NUT_PORT
jimklimov Apr 20, 2022
56d64eb
tests/NIT/nit.sh: embed weak randomization of NUT_PORT
jimklimov Apr 20, 2022
ff470c9
tests/NIT/nit.sh: check that test_nutclient.py was generated before r…
jimklimov Apr 20, 2022
5c4a0d8
tests/NIT/nit.sh: refactor upsd.users passwords as shell vars to ease…
jimklimov Apr 20, 2022
4b85508
tests/NIT/nit.sh: log OVERALL results before DEBUG_SLEEP
jimklimov Apr 20, 2022
7dfc154
NutActiveClientTest: introduce C++ NutActiveClientTest for NIT and si…
jimklimov Apr 20, 2022
7c1e7da
tests/Makefile.am: do not run "cppnit" as part of TESTS, only give a …
jimklimov Apr 20, 2022
f611854
tests/NIT/nit.sh: Avoid dummies with TIMER flip-flops for cppnit if w…
jimklimov Apr 20, 2022
02b66f3
drivers/main.c: accept "lt-PROGNAME" to run libtool-wrapped builds du…
jimklimov Apr 20, 2022
4b6ee21
tests/NIT/Makefile.am: use more portable clumsier code
jimklimov Apr 20, 2022
896a59f
tests/NIT/nit.sh: report issues more usefully for troubleshooting CI
jimklimov Apr 20, 2022
5d96a0d
tests/NIT/nit.sh: spell out 127.0.0.1 and ::1 if detected supported o…
jimklimov Apr 21, 2022
ea16c14
tests/NIT/nit.sh: spell out 127.0.0.1 and ::1 if detected supported o…
jimklimov Apr 21, 2022
9ea37b9
tests/NIT/nit.sh: report DEBUG_SLEEP mode more usefully
jimklimov Apr 21, 2022
ceae0a1
tests/cpputest-client.cpp: test_auth_user(): bail out if "ups.status"…
jimklimov Apr 21, 2022
554154b
tests/NIT/nit.sh: make sure ups.status is not pre-defined empty in te…
jimklimov Apr 21, 2022
089267e
include/str.h, common/str.c: add str_ends_with()
jimklimov Apr 21, 2022
57a99d9
drivers/dummy-ups.c: refactor "mode" from random defines to an enum
jimklimov Apr 21, 2022
c887590
docs/man/dummy-ups.txt: small rewording
jimklimov Apr 21, 2022
4a7741f
dummy-ups: separate MODE_DUMMY_ONCE from MODE_DUMMY_LOOP
jimklimov Apr 21, 2022
13d9f96
dummy-ups: do re-read a "dummy-once" file, though only if it changes …
jimklimov Apr 21, 2022
94c6f39
tests/NIT/nit.sh: extend with mode=... for dummy-ups [#1385]
jimklimov Apr 21, 2022
c713a66
drivers/dummy-ups.c: cover exhaustive case(enum) with pragmas for dia…
jimklimov Apr 21, 2022
583c3c6
tests/NIT/nit.sh: "sed -i" requires an extension (may be empty, in BS…
jimklimov Apr 21, 2022
f367203
tests/NIT/nit.sh: "sed -i" requires an extension (may be empty, in BS…
jimklimov Apr 21, 2022
52eed67
drivers/main.c: fix the handling of libtool-named binaries
jimklimov Apr 21, 2022
f28f35e
tests/NIT/nit.sh: if "Error: Driver not connected" retry with UPSD st…
jimklimov Apr 21, 2022
89990bc
drivers/main.c: better fix for handling of libtool-named binaries
jimklimov Apr 21, 2022
e6f9e80
tests/NIT/nit.sh: name the "dummy.seq" so it loops by default
jimklimov Apr 21, 2022
f5890ba
drivers/dummy-ups.c: fix dummy-once mode for relative path in port
jimklimov Apr 21, 2022
c75aab5
scripts/python/Makefile.am: clean *.pyc and __pycache__/ if present
jimklimov Apr 22, 2022
9ea5b45
tests/cpputest-client.cpp: rename "s1" original value reading
jimklimov Apr 22, 2022
407385f
tests/cpputest-client.cpp: trace values read back after setting
jimklimov Apr 22, 2022
ae94e3d
tests/NIT/nit.sh: allow to tweak NUT_DEBUG_MIN
jimklimov Apr 22, 2022
9c680a2
drivers/dstate.c: whitespace fix
jimklimov Apr 22, 2022
672d265
drivers/dstate.c: log start of processing in sock_arg()
jimklimov Apr 22, 2022
2f54ed4
tests/NIT/Makefile.am: extend with check-NIT-devel for iterating
jimklimov Apr 22, 2022
6150de3
tests/NIT/nit.sh: refactor stop_daemons()
jimklimov Apr 22, 2022
d86c94a
tests/NIT/nit.sh: refactor test cases into smaller routines and group…
jimklimov Apr 22, 2022
d8baa60
Update nut.dict
jimklimov Apr 22, 2022
7c2d7dd
GitIgnore tests/cppnit binary and logs
jimklimov Apr 22, 2022
f02cad2
tests/cpputest-client.cpp: allow up to 10 seconds for SET VAR to prop…
jimklimov Apr 22, 2022
baaf468
tests/NIT/nit.sh: testcase_sandbox_start_drivers_after_upsd(): wait f…
jimklimov Apr 22, 2022
92c7322
tests/NIT/nit.sh: add testgroup_sandbox_cppnit_simple_admin() to trou…
jimklimov Apr 22, 2022
d340a0b
Confirm support for ECO Pro AVR CDS series EVER UPS
vincentto13 Apr 22, 2022
4fb0c68
tests/NIT/nit.sh: ignore message from NSS builds
jimklimov Apr 22, 2022
b23925c
tests/NIT/nit.sh: testcase_sandbox_upsc_query_timer(): for slower tes…
jimklimov Apr 22, 2022
07ae174
tests/NIT/nit.sh: testcase_sandbox_upsc_query_timer(): do not waste t…
jimklimov Apr 22, 2022
dfd537b
driver.list.in: Add HCL info for nJoy Keen 600 (USB)
jimklimov Apr 23, 2022
332df19
docs/man/dummy-ups.txt + clone.txt: cross-link two man pages to remin…
jimklimov Apr 23, 2022
689b231
docs/man/dummy-ups.txt: update notes for dummy-once mode
jimklimov Apr 23, 2022
1c04ba6
docs/man/dummy-ups.txt: update notes for dummy-once mode ability to r…
jimklimov Apr 23, 2022
21f6b7a
docs/man/dummy-ups.txt: highlight that upsrw can not define new varia…
jimklimov Apr 23, 2022
1e7261b
docs/man/dummy-ups.txt: re-wrap long lines and reword
jimklimov Apr 23, 2022
9bad686
tests/NIT/Makefile.am + configure.ac: introduce --enable-check-NIT
jimklimov Apr 23, 2022
06c513d
tests/NIT/nit.sh: limit how long we wait for UPS1/UPS2 to begin respo…
jimklimov Apr 23, 2022
0389a47
docs/man/clone.txt + dummy-ups.txt: clarify the dependency caveats
jimklimov Apr 23, 2022
cd0a608
check_unix_socket_filename() to meaningfully abort when our paths are…
jimklimov Apr 23, 2022
7391e7d
tests/NIT/nit.sh: refactor with TESTDIR
jimklimov Apr 23, 2022
795f51a
tests/NIT/nit.sh: remove mktemp-ed TESTDIR when we exit
jimklimov Apr 23, 2022
8fa10ec
tests/NIT/nit.sh: fix renaming typo
jimklimov Apr 23, 2022
4481e47
ci_build.sh: "--enable-check-NIT" for CI builds
jimklimov Apr 23, 2022
4bce037
ci_build.sh: "--enable-check-NIT" and "--enable-maintainer-mode" for …
jimklimov Apr 23, 2022
f9fc4b9
configure.ac: fix nut_enable_check_NIT
jimklimov Apr 23, 2022
00d38c3
Update driver.list.in
jimklimov Apr 23, 2022
2c8caff
Merge pull request #1387 from vincentto13/ever-support
jimklimov Apr 23, 2022
bbd46b6
drivers/cyberpower-mib.c: update cyberpower_power_status[] with new v…
jimklimov Apr 18, 2022
79fd9da
Merge pull request #1381 from jimklimov/issue-1377
jimklimov Apr 23, 2022
78ef33d
drivers/main.c: simplify detection of PROGNAME="lt-DRIVERNAME" making…
jimklimov Apr 23, 2022
84052e5
ci_build.sh: disable check-NIT by default in CI runs for now
jimklimov Apr 24, 2022
9c5fffc
drivers/usb-common.{h,c} and USB-capable drivers: introduce warn_if_b…
jimklimov Apr 24, 2022
d2aaebf
configure.ac: fix enableval vs withval
jimklimov Apr 24, 2022
b1786b3
Merge pull request #1383 from jimklimov/issue-1362
jimklimov Apr 24, 2022
2c713da
docs/man/victronups.txt: update link to cable pinout
jimklimov Apr 24, 2022
b065dfa
docs/nut-qa.txt: mention "make check-NIT-devel" helper target
jimklimov Apr 24, 2022
eb07738
docs/man/Makefile.am: introduce A2X_VERBOSE
jimklimov Apr 24, 2022
42c5750
docs/man/Makefile.am: refactor LINKMAN_INCLUDE_CONSUMERS
jimklimov Apr 24, 2022
1813af3
docs/man/nutupsdrv.txt + index.txt + upsd.txt: use {builddir}/linkman…
jimklimov Apr 24, 2022
0ee5039
ci_build.sh: introduce CI_BUILDDIR to handle out-of-tree builds other…
jimklimov Apr 24, 2022
ee4b98b
ci_build.sh: prepare for CI_BUILDDIR=obj
jimklimov Apr 24, 2022
6213c98
Jenkinsfile-dynamatrix: run some tests with CI_BUILDDIR
jimklimov Apr 24, 2022
a5a8ac4
Jenkinsfile-dynamatrix: add a CI_BUILDDIR=obj into docs scenario; nam…
jimklimov Apr 25, 2022
6ba7db1
docs/nut.dict: add uniq
jimklimov Apr 25, 2022
922bc71
docs/nut.dict: add wc
jimklimov Apr 25, 2022
e195389
driver.list.in: Add HCL info for nJoy Aten PRO 3000 (SNMP)
jimklimov Apr 23, 2022
93eea02
driver.list.in: Add HCL info for Hunnox devices (and new protocol sub…
jimklimov Apr 23, 2022
dc0ae87
driver.list.in: Add HCL info for DigiTECH 650VA (USB)
jimklimov Apr 23, 2022
3929bdf
driver.list.in: Add HCL info for Crown CMU-SP1200IEC (USB)
jimklimov Apr 23, 2022
ecc5acd
driver.list.in: Add HCL info for Greencell Micropower 600 (USB)
jimklimov Apr 23, 2022
f69a7d6
driver.list.in: Add HCL info for CPC, ARES and Powercool models with …
jimklimov Apr 23, 2022
2b23993
driver.list.in: Add HCL info for DEXP MIX 850VA (USB)
jimklimov Apr 23, 2022
3b9e50d
driver.list.in: Add HCL info for Huawei UPS2000 series (modbus) [#954…
jimklimov Apr 23, 2022
4c3e193
driver.list.in: Update comment for Tripp_Lite SMX500RT1U (USB) [#584]
jimklimov Apr 23, 2022
54d65e9
driver.list.in: Add HCL info for APC AP9584 Serial-to-USB kit
jimklimov Apr 23, 2022
82a0fe8
driver.list.in: Add HCL info for Ablerex MARS MS3000RT (Serial)
jimklimov Apr 23, 2022
2d2726d
driver.list.in: Add HCL info for Guardian LCD 1500 AP (IGA1500LCD) (S…
jimklimov Apr 23, 2022
0ea1f1e
driver.list.in: Add HCL info for CyberPower Systems EC850LCD (USB)
jimklimov Apr 23, 2022
9eca15b
driver.list.in: Add HCL info for CyberPower Systems OR500LCDRM1U (USB)
jimklimov Apr 23, 2022
d3ca02a
driver.list.in: Add HCL info for CyberPower Systems UT2200E (USB)
jimklimov Apr 23, 2022
df28dbb
driver.list.in: Add HCL info for CyberPower Systems BR1000ELCD (USB)
jimklimov Apr 23, 2022
e896de3
driver.list.in: Add HCL info for CyberPower Systems CP1500PFCLCD (USB)
jimklimov Apr 23, 2022
fdd757d
driver.list.in: Add HCL info for CyberPower Systems RT650EI (USB)
jimklimov Apr 23, 2022
a4086d9
driver.list.in: Add HCL info for CyberPower Systems BL1250U (USB)
jimklimov Apr 23, 2022
c100ef4
driver.list.in: Add HCL info for CyberPower Systems CP850PFCLCD (USB)
jimklimov Apr 23, 2022
17083e0
driver.list.in: Update comment for CyberPower Systems PR1500RT2U [#1191]
jimklimov Apr 23, 2022
6704b2f
driver.list.in: Update for CyberPower Systems OR1500ERM1U [#1338]
jimklimov Apr 23, 2022
4be9a31
docs/man/usbhid-ups.txt: document some caveats with CyberPower UPSes …
jimklimov Apr 23, 2022
4b14087
driver.list.in: Add HCL info for Liebert PowerSure PSA 500 series (USB)
jimklimov Apr 23, 2022
abd6280
driver.list.in: Update comment for APC Back-UPS Pro 1000, Model BX100…
jimklimov Apr 23, 2022
0bc17b9
driver.list.in: Add HCL info for APC SMC2200BI-BR (USB)
jimklimov Apr 23, 2022
707e6f1
driver.list.in: Add HCL info for Salicru SPS ONE (USB)
jimklimov Apr 23, 2022
4f8dbac
driver.list.in: Add HCL info for Eaton 9PX 2000 RT (USB)
jimklimov Apr 23, 2022
5414c34
driver.list.in: Add HCL info for Powercom Raptor 2000 and RPT-600AP (…
jimklimov Apr 23, 2022
7061ee7
driver.list.in: Add HCL info for Elsist UPS Nemo2.0 160 (USB)
jimklimov Apr 23, 2022
82149da
driver.list.in: Add HCL info for Tecnoware UPS ERA PLUS 1100 (USB)
jimklimov Apr 23, 2022
6d4adc9
driver.list.in: Add HCL info for Advice Top V Pro 6-10K (USB)
jimklimov Apr 23, 2022
a66b049
driver.list.in: Add HCL info for Advice PRS850 and PRV700 Pro (USB) f…
jimklimov Apr 23, 2022
a22696e
driver.list.in: Add HCL info for V7 UPS1RM2U1500-1E UPS 1500VA Rack M…
jimklimov Apr 23, 2022
3ae656a
driver.list.in: Add HCL info for Energy Technologies DPK1/1-3 (Serial)
jimklimov Apr 23, 2022
10e51e9
driver.list.in: Add HCL info for Ippon Back Basic 850 Euro (USB)
jimklimov Apr 23, 2022
3a065bf
driver.list.in: Add HCL info for Digitus DN-170076 (USB)
jimklimov Apr 23, 2022
92df976
driver.list.in: Add HCL info for Aviem Pro 2000VA (USB)
jimklimov Apr 23, 2022
cc46f19
driver.list.in: Add HCL info for Kebo UPS-1000D (USB)
jimklimov Apr 23, 2022
10f9f55
driver.list.in: Add HCL info for Kebo UPS-650VA (USB) from DDL
jimklimov Apr 23, 2022
79c3d6b
driver.list.in: Add HCL info for Digitus DN-170040, DN-170041, and Vo…
jimklimov Apr 23, 2022
acc1f79
driver.list.in: Add HCL info for Santak MT*-PRO / Castle C*K (Serial)
jimklimov Apr 23, 2022
f3a70a3
driver.list.in: Add HCL info for Online-UPS Xanto S700 [#1279]
jimklimov Apr 23, 2022
a0aaf92
driver.list.in: Add HCL info for UPS Phasak model 9465, renamed as P6…
jimklimov Apr 23, 2022
504ed16
driver.list.in: Add HCL info for PowerWalker VI 1200 SHL (USB)
jimklimov Apr 23, 2022
dc45f54
driver.list.in: Add HCL info for PowerWalker VI 3000 SCL (USB)
jimklimov Apr 23, 2022
cb83959
driver.list.in: Add HCL info for PowerWalker Basic VI 1000 SB (USB)
jimklimov Apr 23, 2022
91584c9
driver.list.in: Add HCL info for PowerWalker VI 650 SH (USB)
jimklimov Apr 23, 2022
f668490
driver.list.in: Add HCL info for PowerWalker VI 2200 SHL (USB) Closes…
jimklimov Apr 23, 2022
fefa252
driver.list.in: Add HCL info for PowerWalker VI 2200 SH and 650 SHL (…
jimklimov Apr 23, 2022
83d999c
driver.list.in: Add HCL info for PowerWalker VI 750T/HID (USB)
jimklimov Apr 23, 2022
72bb962
Merge pull request #1396 from jimklimov/issue-1392
jimklimov Apr 25, 2022
62900a4
drivers/libusb{0,1}.c: report why we could not open any HID devices
jimklimov Apr 26, 2022
e6e8428
docs/download.txt: deprecate buildbot tarballs
jimklimov Apr 26, 2022
464f641
docs/download.txt: update links to distro packaging recipes and their…
jimklimov Apr 26, 2022
d2b337a
docs/download.txt: link to distro packaging wiki page on NUT github
jimklimov Apr 26, 2022
926d6ce
Merge pull request #1399 from jimklimov/issue-477
jimklimov Apr 26, 2022
189b14a
Merge pull request #1398 from jimklimov/issue-1368
jimklimov Apr 26, 2022
53af2dc
docs/nut.dict: update dict
jimklimov Apr 26, 2022
6043b8d
tools/nut-scanner/Makefile.am, clients/Makefile.am: bump "version-inf…
jimklimov Apr 4, 2022
ff16dab
configure.ac: cut the release of NUT v2.8.0
jimklimov Apr 4, 2022
d81f4c5
tools/nut-scanner/Makefile.am, clients/Makefile.am: bump "version-inf…
jimklimov Apr 4, 2022
c7a01a2
configure.ac: cut the release of NUT v2.8.0
jimklimov Apr 4, 2022
29c41fc
configure.ac: prepare for next iterations after release of NUT v2.8.0
jimklimov Apr 4, 2022
8e1573b
configure.ac: prepare for next iterations after release of NUT v2.8.0
jimklimov Apr 4, 2022
9cb8de6
Merge remote-tracking branch 'upstream/master' into remerge-2.8.0
jimklimov Apr 27, 2022
e071454
Merge remote-tracking branch 'opensource/master' as of 2022-04-29 (wi…
jimklimov Apr 29, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
(several vendors do use same interface chips for unrelated protocols).

- [ ] For new USB devices, built and committed the changes for the
`scripts/upower/95-upower-hid.rules` file
`scripts/upower/95-upower-hid.hwdb` file

- [ ] Proposed NUT data mapping is aligned with existing `docs/nut-names.txt`
file. If the device exposes useful data points not listed in the file, the
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
.libs/
.inst/
/tmp/
/obj/
/_install_pkgprotodir/
Makefile
Makefile.in
Expand Down Expand Up @@ -63,3 +64,5 @@ __pycache__/
# Debuggers and IDEs
.gdb_history
/nbproject
/.idea
/*.iml
4 changes: 2 additions & 2 deletions .lgtm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
path_classifiers:
template:
- exclude: "**/*.py.in"
- exclude: "**/NUT-Monitor.in"
- exclude: "**/NUT-Monitor*.in"

queries:
- exclude: cpp/fixme-comment
Expand All @@ -17,4 +17,4 @@ extraction:
index:
filters:
- include: "**/*.py.in"
- include: "**/NUT-Monitor.in"
- include: "**/NUT-Monitor*.in"
23 changes: 16 additions & 7 deletions INSTALL.nut
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
Installation instructions
=========================

This chapter describe the various methods for installing Network UPS Tools.
This chapter describes the various methods for installing Network UPS Tools.

Whenever it is possible, prefer <<Installing_packages, installing from packages>>.
Packagers have done an excellent and hard work at improving NUT integration into
their system.
their system. On the other hand, distributions and appliances tend to package
"official releases" of projects such as NUT, and so do not deliver latest and
greatest fixes, new drivers, bugs and other features.

[[Installing_source]]
Installing from source
Expand All @@ -16,6 +18,13 @@ These are the essential steps for compiling and installing this software.
The NUT linkdoc:packager-guide[Packager Guide], which presents the best
practices for installing and integrating NUT, is also a good reading.

The link:config-prereqs.txt[Prerequisites for building NUT on different OSes]
document suggests prerequisite packages with tools and dependencies
available and needed to build and test as much as possible of NUT on
numerous platforms, written from perspective of CI testing (if you
are interested in getting updated drivers for a particular device,
you might select a sub-set of those suggestions).

[NOTE]
.Keep in mind that...
================================================================================
Expand Down Expand Up @@ -52,7 +61,7 @@ long as you are consistent.
The process for doing this varies from one system to the next, and
explaining how to add users is beyond the scope of this document.

For the purposes of this document, the user name and group name
For the purposes of this document, the user name and group name
will be 'ups' and 'nut' respectively.

Be sure the new user is a member of the new group! If you forget to
Expand Down Expand Up @@ -87,7 +96,7 @@ docs/configure.txt or './configure --help' for all the available
options.

If you alter paths with additional switches, be sure to use those
new paths while reading the rest of the steps.
new paths while reading the rest of the steps.

Reference: <<Configure_options,Configure options>> from the
User Manual.
Expand All @@ -100,7 +109,7 @@ Build the programs

This will build the NUT client and server programs and the
selected drivers. It will also build any other features that were
selected during <<Configuration,configuration>> step above.
selected during <<Configuration,configuration>> step above.


Installation
Expand Down Expand Up @@ -175,7 +184,7 @@ permissions for the USB device, you may need to set up (operating
system dependent) hotplugging scripts. Sample scripts and
information are provided in the scripts/hotplug and
scripts/udev directories. For most users, the hotplugging scripts
will be installed automatically by "make install".
will be installed automatically by "make install".

(If you want to try if a driver works without setting up
hotplugging, you can add the "-u root" option to upsd, upsmon, and
Expand Down Expand Up @@ -299,7 +308,7 @@ To install NUT as a package execute:
Port
^^^^

The port is located under +sysutils/nut+.
The port is located under +sysutils/nut+.
Use +make config+ to select configuration options, e.g. to build the optional CGI scripts.
To install it, use:

Expand Down
53 changes: 41 additions & 12 deletions Jenkinsfile-dynamatrix
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ import org.nut.dynamatrix.*;
dynacfgPipeline.axisCombos_COMPILER_GCC = [~/COMPILER=GCC/]
dynacfgPipeline.axisCombos_COMPILER_NOT_GCC = [~/COMPILER=(?!GCC)/]

// Avoid requiring success on GCC so old we can't manage warnings by CLI or pragmas:
dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD = [~/COMPILER=GCC/, ~/GCCVER=([0123]\.|4\.[0123])/]

// Beside the flag here, the pre-defined C89/C90/ANSI scenarios
// should only get considered in branches named ~/fightwarn.*89.*/
// or PRs to those (for non-GCC builds):
Expand All @@ -58,6 +61,14 @@ import org.nut.dynamatrix.*;
dynacfgPipeline.failFast = //true //
false

// How long can a single "slow-build stage" run before we
// consider that the build agent is stuck or network dropped?
// The dynamatrix should try to re-schedule this scenario then.
dynacfgPipeline.dsbcStageTimeoutSettings = [
time: 2,
unit: 'HOURS'
]

// Note: this setting causes a lot of noise in build summary page and
// parent job definition (PR, branch...) overview page on Jenkins,
// by reporting dozens of lines for each analyzer ID ever published.
Expand Down Expand Up @@ -419,7 +430,8 @@ set | sort -n """
],
runAllowedFailure: true,
mergeMode: [ 'excludeCombos': 'merge', 'dynamatrixAxesCommonEnv': 'replace' ], // NOTE: We might want to replace other fields, but excludeCombos must be merged to filter compiler versions vs language standards as centrally defined!
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C +
[dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD]
], body)
}, // getParStages
'bodyParStages': dynacfgPipeline.slowBuildDefaultBody_ci_build
Expand Down Expand Up @@ -618,7 +630,8 @@ set | sort -n """
],
runAllowedFailure: true,
mergeMode: [ 'excludeCombos': 'merge', 'dynamatrixAxesCommonEnv': 'replace' ], // NOTE: We might want to replace other fields, but excludeCombos must be merged to filter compiler versions vs language standards as centrally defined!
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C +
[dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD]
], body)
}, // getParStages
'bodyParStages': dynacfgPipeline.slowBuildDefaultBody_ci_build
Expand Down Expand Up @@ -673,13 +686,14 @@ set | sort -n """
],
runAllowedFailure: true,
mergeMode: [ 'excludeCombos': 'merge', 'dynamatrixAxesLabels': 'replace', 'commonLabelExpr': 'replace', 'dynamatrixAxesCommonEnv': 'replace' ], // NOTE: We might want to replace other fields, but excludeCombos must be merged to filter compiler versions vs language standards as centrally defined!
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C +
[dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD]
], body)
}, // getParStages
'bodyParStages': dynacfgPipeline.slowBuildDefaultBody_ci_build
] // one slowBuild filter configuration

,[name: 'A build with all docs types on capable systems, and a distcheck (must pass)',
,[name: 'An out-of-tree build with all docs types on capable systems, and a distcheck (must pass)',
// TODO: This is a recipe (and target OS) test for ability to build
// the docs without error; it should not iterate compilers (maybe
// iterate docs tools though, if we were to support many backends?)
Expand All @@ -703,6 +717,9 @@ set | sort -n """
],
dynamatrixAxesCommonEnv: [
['LANG=C','LC_ALL=C','TZ=UTC',
// Build in a subdirectory to check that out-of-dir
// builds are healthy too
'CI_BUILDDIR=obj',
'BUILD_WARNFATAL=yes','BUILD_WARNOPT=minimal'
]
],
Expand All @@ -711,7 +728,8 @@ set | sort -n """
],
runAllowedFailure: true,
mergeMode: [ 'excludeCombos': 'merge', 'dynamatrixAxesLabels': 'replace', 'commonLabelExpr': 'replace', 'dynamatrixAxesCommonEnv': 'replace' ], // NOTE: We might want to replace other fields, but excludeCombos must be merged to filter compiler versions vs language standards as centrally defined!
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C +
[dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD]
], body)
}, // getParStages
'bodyParStages': dynacfgPipeline.slowBuildDefaultBody_ci_build
Expand Down Expand Up @@ -749,7 +767,8 @@ set | sort -n """
],
runAllowedFailure: true,
mergeMode: [ 'excludeCombos': 'merge', 'dynamatrixAxesLabels': 'replace', 'commonLabelExpr': 'replace', 'dynamatrixAxesCommonEnv': 'replace' ], // NOTE: We might want to replace other fields, but excludeCombos must be merged to filter compiler versions vs language standards as centrally defined!
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C +
[dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD]
], body)
}, // getParStages
'bodyParStages': dynacfgPipeline.slowBuildDefaultBody_ci_build
Expand All @@ -776,7 +795,7 @@ set | sort -n """
dynamatrixAxesCommonEnv: [
['LANG=C','LC_ALL=C','TZ=UTC',
'BUILD_TYPE=default-all-errors',
'BUILD_WARNFATAL=yes','BUILD_WARNOPT=auto'
'BUILD_WARNFATAL=no','BUILD_WARNOPT=auto'
]
],
allowedFailure: [
Expand Down Expand Up @@ -812,7 +831,7 @@ set | sort -n """
dynamatrixAxesCommonEnv: [
['LANG=C','LC_ALL=C','TZ=UTC',
'BUILD_TYPE=default-all-errors',
'BUILD_WARNFATAL=yes','BUILD_WARNOPT=auto'
'BUILD_WARNFATAL=no','BUILD_WARNOPT=auto'
]
],
allowedFailure: [
Expand Down Expand Up @@ -931,7 +950,8 @@ set | sort -n """
],
runAllowedFailure: true,
mergeMode: [ 'excludeCombos': 'merge', 'dynamatrixAxesCommonEnv': 'replace' ], // NOTE: We might want to replace other fields, but excludeCombos must be merged to filter compiler versions vs language standards as centrally defined!
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C +
[dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD]
//+ [ [~/COMPILER=GCC/, ~/CSTDVERSION_KEY=(?!89)/] ]
], body)
}, // getParStages
Expand Down Expand Up @@ -972,13 +992,14 @@ set | sort -n """
mergeMode: [ 'excludeCombos': 'merge', 'dynamatrixAxesCommonEnv': 'replace' ], // NOTE: We might want to replace other fields, but excludeCombos must be merged to filter compiler versions vs language standards as centrally defined!
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C + [
[~/COMPILER=GCC/, ~/CSTDVERSION_KEY=(?!89)/]
]
] +
[dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD]
], body)
}, // getParStages
'bodyParStages': dynacfgPipeline.slowBuildDefaultBody_ci_build
] // one slowBuild filter configuration

,[name: 'GNU C standard builds with fatal warnings with GCC, without distcheck and docs (must pass)',
,[name: 'GNU C standard out-of-tree builds with fatal warnings with GCC, without distcheck and docs (must pass)',
disabled: dynacfgPipeline.disableSlowBuildCIBuild,
//branchRegexSource: ~/^(PR-.+|fightwarn.*)$/,
//branchRegexTarget: dynacfgPipeline.branchStableRegex,
Expand All @@ -997,6 +1018,9 @@ set | sort -n """
['LANG=C','LC_ALL=C','TZ=UTC',
'BUILD_TYPE=default-all-errors',
'BUILD_WARNFATAL=yes',
// Build in a subdirectory to check that out-of-dir
// builds are healthy too
'CI_BUILDDIR=obj',
// NOTE: "gcc-hard" warnings are still not as picky
// as "clang-hard" and do not differ much from the
// "gcc-medium" definition currently:
Expand All @@ -1010,7 +1034,8 @@ set | sort -n """
mergeMode: [ 'excludeCombos': 'merge', 'dynamatrixAxesCommonEnv': 'replace' ], // NOTE: We might want to replace other fields, but excludeCombos must be merged to filter compiler versions vs language standards as centrally defined!
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_CPPUNIT_STRICT_C + [
[~/COMPILER=(?!GCC)/]
]
] +
[dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD]
], body)
}, // getParStages
'bodyParStages': dynacfgPipeline.slowBuildDefaultBody_ci_build
Expand Down Expand Up @@ -1073,6 +1098,7 @@ set | sort -n """
],
allowedFailure: [
dynacfgPipeline.axisCombos_STRICT_C,
dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD,
[~/BUILD_WARNOPT=hard/]
],
runAllowedFailure: true,
Expand Down Expand Up @@ -1111,6 +1137,7 @@ set | sort -n """
],
allowedFailure: [
dynacfgPipeline.axisCombos_STRICT_C,
dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD,
[~/BUILD_WARNOPT=hard/]
],
runAllowedFailure: true,
Expand Down Expand Up @@ -1146,6 +1173,7 @@ set | sort -n """
],
allowedFailure: [
dynacfgPipeline.axisCombos_STRICT_C,
dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD,
[~/BUILD_WARNOPT=hard/]
],
runAllowedFailure: true,
Expand Down Expand Up @@ -1191,6 +1219,7 @@ set | sort -n """
excludeCombos: [
dynacfgPipeline.axisCombos_ARCH32x64,
dynacfgPipeline.axisCombos_ARCH64x32,
dynacfgPipeline.axisCombos_COMPILER_GCC_TOO_OLD,
dynacfgPipeline.axisCombos_NOT_WINDOWS
]
], body)
Expand Down
24 changes: 19 additions & 5 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,18 @@ spellcheck spellcheck-interactive:
(cd $(builddir)/data && $(MAKE) -s $@) || RES=$$? ; \
exit $$RES

doc spellcheck-sortdict:
cd $(srcdir)/docs && $(MAKE) $@
# Note: the "all-docs" and "check-docs" targets may require tools not
# found by `configure` script (and so avoided by conventional recipes)
# such as PDF generators, so it should only be called at developer's
# discretion, choice and risk. The "check-man" targets covers source
# texts, man pages and HTML rendering of man pages, as enabled by tools.
doc spellcheck-sortdict \
all-docs check-docs \
man all-man man-man check-man man-html all-html:
cd $(builddir)/docs && $(MAKE) $@

check-NIT check-NIT-devel:
cd $(builddir)/tests/NIT && $(MAKE) $@

# This target adds syntax-checking for committed shell script files,
# to avoid surprises and delays in finding fatal typos after packaging
Expand Down Expand Up @@ -296,11 +306,15 @@ tools/gitlog2changelog.py: tools/gitlog2changelog.py.in

# ----------------------------------------------------------------------
# Maintainers targets: distribution signature and hashes
dist-sig:
nut-@PACKAGE_VERSION@.tar.gz: dist
nut-@PACKAGE_VERSION@.tar.gz.sig: dist-sig
nut-@PACKAGE_VERSION@.tar.gz.md5 nut-@PACKAGE_VERSION@.tar.gz.sha256: dist-hash

dist-sig: nut-@PACKAGE_VERSION@.tar.gz
rm -f nut-@PACKAGE_VERSION@.tar.gz.sig
gpg --detach-sign nut-@PACKAGE_VERSION@.tar.gz

dist-hash:
dist-hash: nut-@PACKAGE_VERSION@.tar.gz
md5sum nut-@PACKAGE_VERSION@.tar.gz > nut-@PACKAGE_VERSION@.tar.gz.md5
sha256sum nut-@PACKAGE_VERSION@.tar.gz > nut-@PACKAGE_VERSION@.tar.gz.sha256

Expand Down Expand Up @@ -376,7 +390,7 @@ MAINTAINERCLEANFILES_PACKAGES += *.p5p
MAINTAINERCLEANFILES += $(MAINTAINERCLEANFILES_DISTBALL)
MAINTAINERCLEANFILES += $(MAINTAINERCLEANFILES_PACKAGES)

package:
package: dist
DESTDIR="$(abs_builddir)/_install_pkgprotodir" ; export DESTDIR; \
rm -rf "$$DESTDIR"; \
case "`uname -s`" in \
Expand Down
Loading