├── debian ├── compat ├── source │ └── format ├── rules ├── watch ├── .gitignore ├── copyright ├── build-ppa.sh ├── control └── changelog ├── OBS ├── _service ├── debian.rules ├── debian.changelog ├── hw-probe.desktop ├── hw-probe.dsc ├── PKGBUILD ├── debian.control ├── hw-probe.spec ├── hw-probe.appdata.xml └── appimage.yml ├── .whitesource ├── flatpak ├── hw-probe.sh ├── hw-probe.desktop ├── hw-probe.appdata.xml └── org.linux_hardware.hw-probe.yaml ├── snap ├── gui │ └── hw-probe.desktop └── snapcraft.yaml ├── Makefile ├── Dockerfile ├── INSTALL.md ├── README.md └── LICENSE /debian/compat: -------------------------------------------------------------------------------- 1 | 9 -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (git) 2 | -------------------------------------------------------------------------------- /OBS/_service: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | DH_VERBOSE = 1 3 | DPKG_EXPORT_BUILDFLAGS = 1 4 | include /usr/share/dpkg/default.mk 5 | %: 6 | dh $@ 7 | -------------------------------------------------------------------------------- /OBS/debian.rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | DH_VERBOSE = 1 3 | DPKG_EXPORT_BUILDFLAGS = 1 4 | include /usr/share/dpkg/default.mk 5 | %: 6 | dh $@ 7 | -------------------------------------------------------------------------------- /debian/watch: -------------------------------------------------------------------------------- 1 | version=4 2 | opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/-$1\.tar\.gz/ \ 3 | https://github.com/linuxhw/hw-probe/tags .*/v?(\d\S+)\.tar\.gz 4 | -------------------------------------------------------------------------------- /.whitesource: -------------------------------------------------------------------------------- 1 | { 2 | "generalSettings": { 3 | "shouldScanRepo": true 4 | }, 5 | "checkRunSettings": { 6 | "vulnerableCheckRunConclusionLevel": "failure" 7 | } 8 | } -------------------------------------------------------------------------------- /flatpak/hw-probe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | if [ $# -eq 0 ]; then 3 | perl /app/bin/hw-probe-flatpak -flatpak 4 | else 5 | perl /app/bin/hw-probe-flatpak -flatpak "$@" 6 | fi 7 | -------------------------------------------------------------------------------- /OBS/debian.changelog: -------------------------------------------------------------------------------- 1 | hw-probe (1.4-1) stable; urgency=low 2 | 3 | * Initial Package on OBS 4 | 5 | -- Andrey Ponomarenko Fri, 20 Jul 2018 16:05:00 +0300 -------------------------------------------------------------------------------- /debian/.gitignore: -------------------------------------------------------------------------------- 1 | # exclude debian building logs 2 | files 3 | debhelper-build-stamp 4 | hw-probe* 5 | .debhelper 6 | *.log 7 | *.substvars 8 | 9 | # Dolphin file manager creates the file .directory to save some folder-specific settings 10 | *.directory 11 | 12 | -------------------------------------------------------------------------------- /flatpak/hw-probe.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Terminal=true 4 | Name=Hardware Probe 5 | Comment=Probe for hardware and upload result to the Linux hardware database 6 | Icon=org.linux_hardware.hw-probe 7 | Exec=hw-probe 8 | Categories=System; 9 | Keywords=HW Probe;Hardware;Probe; 10 | -------------------------------------------------------------------------------- /OBS/hw-probe.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Hardware Probe 3 | Comment=Probe for hardware and upload result to the Linux hardware database 4 | Exec=hw-probe -appimage 5 | Icon=hw-probe 6 | Terminal=true 7 | Type=Application 8 | StartupNotify=true 9 | Categories=System; 10 | Keywords=HW Probe;Hardware;Probe; -------------------------------------------------------------------------------- /snap/gui/hw-probe.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Hardware Probe 3 | Comment=Probe for hardware and upload result to the Linux hardware database 4 | Exec=hw-probe 5 | Icon=$SNAP/meta/gui/icon.png 6 | Terminal=true 7 | Type=Application 8 | StartupNotify=true 9 | Categories=System; 10 | Keywords=HW Probe;Hardware;Probe; 11 | -------------------------------------------------------------------------------- /OBS/hw-probe.dsc: -------------------------------------------------------------------------------- 1 | Format: 1.0 2 | Source: hw-probe 3 | Version: 1.4-2 4 | Binary: hw-probe 5 | Maintainer: Andrey Ponomarenko 6 | Architecture: any 7 | Build-Depends: debhelper (>= 4.1.16) 8 | DEBTRANSFORM-TAR: hw-probe-1.4.tar.gz 9 | Files: 10 | b01eb4cbaa25055fd36247a67faf967e 61479 hw-probe-1.4.tar.gz -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | prefix ?= /usr 2 | tool = hw-probe 3 | tool_dir = $(DESTDIR)$(prefix)/bin 4 | 5 | .PHONY: all 6 | 7 | all: 8 | echo "Nothing to build." 9 | 10 | install: 11 | mkdir -p $(tool_dir) 12 | install -m 755 $(tool).pl $(tool_dir)/$(tool) 13 | 14 | uninstall: 15 | rm -f $(tool_dir)/$(tool) 16 | 17 | clean: 18 | echo "Nothing to clean up." 19 | -------------------------------------------------------------------------------- /OBS/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: Andrey Ponomarenko 2 | 3 | pkgname=hw-probe 4 | pkgver=1.4 5 | pkgrel=1 6 | pkgdesc="A tool to check operability of computer hardware" 7 | arch=('any') 8 | url="https://github.com/linuxhw/hw-probe" 9 | license=('LGPLv2.1+') 10 | source=("$pkgname-$pkgver.tar.gz") 11 | sha256sums=('90f3ea83bf641348b209e4a2a910f65d836ae7828c0be0f660236ea413bc46bb') 12 | depends=('perl>=5' 'curl' 'hwinfo' 'dmidecode' 'pciutils' 'usbutils' 'smartmontools' 'hdparm' 'net-tools' 'mesa-demos' 'glew' 'lm_sensors' 'lsb-release') 13 | optdepends=('acpica' 'sysstat' 'iw' 'ethtool' 'alsa-utils' 'efibootmgr') 14 | 15 | package() { 16 | cd "$srcdir"/$pkgname-$pkgver 17 | install -dm755 "$pkgdir"/usr 18 | DESTDIR="$pkgdir" make install prefix=/usr 19 | } 20 | -------------------------------------------------------------------------------- /debian/copyright: -------------------------------------------------------------------------------- 1 | Files: * 2 | Copyright: 2014-2018 Andrey Ponomarenko 3 | License: LGPL-2+ 4 | 5 | Files: debian/* 6 | Copyright: 2017-2018 Mikhail Novosyolov 7 | License: GPL-2+ 8 | 9 | License: LGPL-2 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Library General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Library General Public License for more details. 19 | 20 | You should have received a copy of the GNU Library General Public 21 | License along with this library; if not, write to the 22 | Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 23 | Boston, MA 02110-1301, USA. 24 | 25 | On Debian systems, the complete text of the GNU General 26 | Public License version 3 can be found in "/usr/share/common-licenses/LGPL-2". 27 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.7 2 | 3 | RUN apk update \ 4 | && apk add --no-cache perl curl xz dmidecode pciutils usbutils \ 5 | smartmontools hdparm sysstat util-linux lm_sensors acpi iw wireless-tools \ 6 | alsa-utils xrandr xdpyinfo xinput acpica iasl \ 7 | && apk add --no-cache --virtual build-deps git gcc make libc-dev flex linux-headers \ 8 | && git clone https://git.linuxtv.org/cgit.cgi/edid-decode.git \ 9 | && cd edid-decode \ 10 | && make \ 11 | && make install \ 12 | && cd .. \ 13 | && rm -fr edid-decode \ 14 | && git clone https://github.com/wfeldt/libx86emu.git \ 15 | && cd libx86emu \ 16 | && make \ 17 | && make install \ 18 | && cd .. \ 19 | && rm -fr libx86emu \ 20 | && git clone https://github.com/openSUSE/hwinfo.git \ 21 | && cd hwinfo \ 22 | && make \ 23 | && make install \ 24 | && cd .. \ 25 | && rm -fr hwinfo \ 26 | && git clone https://github.com/linuxhw/hw-probe.git \ 27 | && cd hw-probe \ 28 | && make install \ 29 | && cd .. \ 30 | && rm -fr hw-probe \ 31 | && apk del build-deps 32 | 33 | ENV LD_LIBRARY_PATH /usr/lib64:/usr/lib 34 | ENV DISPLAY :0 35 | 36 | ENTRYPOINT ["/usr/bin/hw-probe", "-docker"] 37 | -------------------------------------------------------------------------------- /debian/build-ppa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Written and used by Mikhail Novosyolov for building the hw-probe package to the Launchpad.net PPA repository for Ubuntu and Debian 3 | # Open-sourced to allow other people do the same easily 4 | # Thanks to Denis Linvinus for the base of this script 5 | 6 | pkg_name="hw-probe" 7 | 8 | # this allows the script to be ran both from the root of the source tree and from ./debian directory 9 | dir_start="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 10 | if [ "$(basename "${dir_start}")" = 'debian' ]; then 11 | cd .. 12 | fi 13 | 14 | dir0="$(pwd)" 15 | old_header=$(head -1 ./debian/changelog) 16 | old_format_source=$(cat ./debian/source/format) 17 | 18 | for i in trusty xenial artful bionic cosmic 19 | do 20 | old_version="$(cat ./debian/changelog | head -n 1 | awk -F "(" '{print $2}' | awk -F ")" '{print $1}')" 21 | new_version="${old_version}~${i}1" 22 | sed -i -re "s/${old_version}/${new_version}/g" ./debian/changelog 23 | sed -i -re "1s/unstable/$i/" ./debian/changelog 24 | rm -fv ./debian/source/format 25 | # -I to exclude .git; -d to allow building .changes file without build dependencies installed 26 | dpkg-buildpackage -I -S -sa -d 27 | sed -i -re "1s/.*/${old_header}/" ./debian/changelog 28 | echo "$old_format_source" >./debian/source/format 29 | cd .. 30 | 31 | # change PPA names to yours, you may leave only one PPA; I upload hw-probe to 2 different PPAs at the same time 32 | for reponame in "ppa:mikhailnov/hw-probe" "ppa:mikhailnov/utils" 33 | do 34 | dput -f "$reponame" "$(ls -tr ${pkg_name}_*_source.changes | tail -n 1)" 35 | done 36 | 37 | cd "$dir0" 38 | sleep 1 39 | done 40 | 41 | cd "$dir_start" 42 | -------------------------------------------------------------------------------- /OBS/debian.control: -------------------------------------------------------------------------------- 1 | Source: hw-probe 2 | Section: utils 3 | Priority: optional 4 | Maintainer: Andrey Ponomarenko 5 | Build-Depends: debhelper (>=9), perl-base (>=5) 6 | Standards-Version: 3.9.6 7 | Homepage: https://github.com/linuxhw/hw-probe 8 | 9 | Package: hw-probe 10 | Architecture: all 11 | Depends: perl-base (>=5), 12 | libwww-perl, 13 | libdigest-sha-perl, 14 | curl, 15 | hwinfo, 16 | dmidecode, 17 | pciutils, 18 | usbutils, 19 | smartmontools, 20 | hdparm, 21 | lm-sensors, 22 | x11-utils, 23 | mesa-utils, 24 | lsb-release, 25 | acpica-tools 26 | Recommends: mcelog, 27 | edid-decode, 28 | memtester, 29 | pnputils, 30 | sysstat, 31 | upower, 32 | fdisk, 33 | alsa-utils, 34 | cpuid, 35 | ethtool, 36 | i2c-tools, 37 | wireless-tools, 38 | iw, 39 | vainfo, 40 | vdpauinfo, 41 | vulkan-utils, 42 | x11-xserver-utils, 43 | xinput 44 | Description: A tool to check operability of computer hardware 45 | A tool to check operability of computer hardware and upload result 46 | to the Linux hardware database. 47 | . 48 | Probe — is a snapshot of your computer's hardware state and system 49 | logs. The tool returns a permanent URL to view the probe of the 50 | computer. 51 | . 52 | The tool is intended to simplify collecting of logs necessary for 53 | investigating hardware related problems. Just ask user to run one 54 | simple command to collect all the system logs at once: 55 | . 56 | sudo hw-probe -all -upload 57 | . 58 | By creating probes you contribute to the HDD/SSD Real-Life 59 | Reliability Test study: https://github.com/linuxhw/SMART -------------------------------------------------------------------------------- /OBS/hw-probe.spec: -------------------------------------------------------------------------------- 1 | Summary: A tool to check operability of computer hardware 2 | Name: hw-probe 3 | Version: 1.4 4 | Release: 1 5 | Group: Development/Other 6 | BuildArch: noarch 7 | License: LGPLv2.1+ 8 | URL: https://github.com/linuxhw/hw-probe 9 | Source0: hw-probe-%{version}.tar.gz 10 | Requires: perl 11 | Requires: perl-libwww-perl 12 | Requires: curl 13 | Requires: hwinfo 14 | Requires: dmidecode 15 | Requires: pciutils 16 | Requires: usbutils 17 | Requires: smartmontools 18 | Requires: hdparm 19 | Requires: sysstat 20 | Requires: util-linux 21 | Requires: mcelog 22 | %if 0%{?suse_version} || 0%{?sle_version} 23 | Requires: sensors 24 | Requires: lsb-release 25 | Requires: Mesa-demo-x 26 | Requires: acpica 27 | %endif 28 | %if 0%{?fedora} 29 | Requires: lm_sensors 30 | Requires: redhat-lsb-core 31 | Requires: mesa-demos 32 | Requires: acpica-tools 33 | %endif 34 | 35 | %define debug_package %{nil} 36 | 37 | %description 38 | A tool to check operability of computer hardware and upload result 39 | to the Linux hardware database. 40 | 41 | Probe — is a snapshot of your computer's hardware state and system 42 | logs. The tool returns a permanent URL to view the probe of the 43 | computer. 44 | 45 | The tool is intended to simplify collecting of logs necessary for 46 | investigating hardware related problems. Just ask user to run one 47 | simple command to collect all the system logs at once: 48 | 49 | sudo hw-probe -all -upload 50 | 51 | By creating probes you contribute to the HDD/SSD Real-Life 52 | Reliability Test study: https://github.com/linuxhw/SMART 53 | 54 | %prep 55 | %setup -q -n hw-probe-%{version} 56 | chmod 0644 README.md 57 | 58 | %build 59 | # Nothing to build yet 60 | 61 | %install 62 | mkdir -p %{buildroot}%{_prefix} 63 | make install prefix=%{_prefix} DESTDIR=%{buildroot} 64 | 65 | %clean 66 | rm -rf %{buildroot} 67 | 68 | %files 69 | %defattr(-,root,root,-) 70 | %doc README.md 71 | %{_bindir}/%{name} 72 | -------------------------------------------------------------------------------- /OBS/hw-probe.appdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | org.linux_hardware.hw-probe 5 | CC-BY-3.0 6 | LGPL-2.1+ 7 | Hardware Probe 8 | Check operability of computer hardware 9 | 10 | 11 |

12 | A tool to check operability of computer hardware and upload result 13 | to the Linux hardware database. 14 |

15 |

16 | Probe — is a snapshot of your computer hardware state and system 17 | logs. The tool returns a permanent URL to view the probe of the 18 | computer. 19 |

20 |

21 | The tool is intended to simplify collecting of logs necessary for 22 | investigating hardware related problems. Just ask user to run one 23 | simple command to collect all the system logs at once: 24 |

25 |

26 | sudo hw-probe -all -upload 27 |

28 |

29 | By creating probes you contribute to the HDD/SSD Real-Life 30 | Reliability Test study: https://github.com/linuxhw/SMART 31 |

32 |
33 | 34 | 35 | System 36 | 37 | 38 | org.linux_hardware.hw-probe.desktop 39 | 40 | 41 | 42 | https://github.com/linuxhw/build-stuff/releases/download/1.4/image-2.png 43 | 44 | 45 | https://github.com/linuxhw/build-stuff/releases/download/1.4/image-3.png 46 | 47 | 48 | https://github.com/linuxhw/build-stuff/releases/download/1.4/image-1.png 49 | 50 | 51 | 52 | https://github.com/linuxhw/hw-probe 53 | Linux Hardware 54 | 55 | 56 | hw-probe 57 | 58 |
59 | -------------------------------------------------------------------------------- /flatpak/hw-probe.appdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | org.linux_hardware.hw-probe 5 | CC-BY-3.0 6 | LGPL-2.1+ 7 | Hardware Probe 8 | Check operability of computer hardware 9 | 10 | 11 |

12 | A tool to check operability of computer hardware and upload result 13 | to the Linux hardware database. 14 |

15 |

16 | Probe — is a snapshot of your computer hardware state and system 17 | logs. The tool returns a permanent URL to view the probe of the 18 | computer. 19 |

20 |

21 | The tool is intended to simplify collecting of logs necessary for 22 | investigating hardware related problems. Just ask a user to run one 23 | simple command to collect all the system logs at once: 24 |

25 |

26 | sudo flatpak run org.linux_hardware.hw-probe -all -upload 27 |

28 |

29 | By creating probes you contribute to the HDD/SSD Real-Life 30 | Reliability Test study: https://github.com/linuxhw/SMART 31 |

32 |
33 | 34 | 35 | 36 | System 37 | 38 | 39 | 40 | org.linux_hardware.hw-probe.desktop 41 | 42 | 43 | 44 | https://github.com/linuxhw/build-stuff/releases/download/1.4/image-2.png 45 | 46 | 47 | https://github.com/linuxhw/build-stuff/releases/download/1.4/image-3.png 48 | 49 | 50 | https://github.com/linuxhw/build-stuff/releases/download/1.4/image-1.png 51 | 52 | 53 | 54 | https://github.com/linuxhw/hw-probe 55 | 56 | 57 | hw-probe 58 | 59 |
60 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: hw-probe 2 | Priority: optional 3 | Section: utils 4 | Maintainer: Mikhail Novosyolov 5 | Build-Depends: debhelper (>=9), perl-base (>=5) 6 | Standards-Version: 3.9.6 7 | Homepage: https://github.com/linuxhw/hw-probe 8 | 9 | Package: hw-probe 10 | Architecture: all 11 | Depends: ${misc:Depends}, 12 | perl-base (>=5), 13 | libdigest-sha-perl, 14 | curl, 15 | hwinfo, 16 | dmidecode, 17 | pciutils, 18 | usbutils, 19 | hdparm, 20 | lsb-release, 21 | edid-decode, 22 | smartmontools (>=6.6) | smartmontools 23 | # Lintian says these are essential packages which should not be dependencies: 24 | # findutils, util-linux, coreutils 25 | Recommends: fdisk, 26 | acpica-tools, 27 | alsa-utils, 28 | cpuid, 29 | ethtool, 30 | i2c-tools, 31 | inxi, 32 | iw, 33 | kmod, 34 | linux-tools-common, 35 | lm-sensors, 36 | mcelog, 37 | memtester, 38 | mesa-utils, 39 | mount, 40 | net-tools, 41 | numactl, 42 | pnputils, 43 | procps, 44 | psmisc, 45 | rfkill, 46 | sysstat, 47 | upower, 48 | vainfo, 49 | vdpauinfo, 50 | vulkan-utils, 51 | wireless-tools, 52 | x11-utils, 53 | x11-xserver-utils, 54 | xinput 55 | # Those utilities, which's logs can be parsed and uploaded, but which must not be installed as dependencies of hw-probe automatically, are 'Suggested' dependencies 56 | Suggests: systemd, 57 | hplip, 58 | bluez, 59 | modemmanager, 60 | network-manager, 61 | rpm, 62 | efibootmgr, 63 | dkms, 64 | sane-utils, 65 | dracut-core 66 | # smartmontools pulls Postfix (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898121) 67 | # dracut-core pulls lvm2 68 | # that is why they are 'Suggested' dependencies, but they should be 'Recommended' 69 | Description: Hardware probe and system info collection tool 70 | A tool to probe for hardware and upload results 71 | to the Linux hardware database https://linux-hardware.org 72 | -------------------------------------------------------------------------------- /debian/changelog: -------------------------------------------------------------------------------- 1 | hw-probe (1.4-5-git20180614) unstable; urgency=low 2 | 3 | * Fixed Lintian warnings 4 | * debian/format/source '3.0 (git)' and updated PPA build script 5 | 6 | -- Mikhail Novosyolov Mon, 02 Jul 2018 17:06:00 +0300 7 | 8 | hw-probe (1.4-4-git20180614) unstable; urgency=low 9 | 10 | * Fixed dependencies 11 | * Built new smartmontools 6.6 with fixed dependencies in the same repository 12 | 13 | -- Mikhail Novosyolov Thu, 14 Jun 2018 20:58:00 +0300 14 | 15 | hw-probe (1.4-3-git20180602) unstable; urgency=low 16 | 17 | * Reworked debian/control & fixed dependencies to workaround strange 'Recommended' dependencies of some Debian's packages 18 | * Build git version of hw-probe 19 | 20 | -- Mikhail Novosyolov Sat, 02 Jun 2018 01:52:00 +0300 21 | 22 | hw-probe (1.4-2) unstable; urgency=low 23 | 24 | * New upstream release 1.4 25 | * New dependency libdigest-sha-perl 26 | 27 | -- Mikhail Novosyolov Wed, 18 Apr 2018 23:19:00 +0300 28 | 29 | hw-probe (1.3-12) unstable; urgency=low 30 | 31 | * Remove 'make' from dependencies to fix Lintian error https://lintian.debian.org/tags/depends-on-build-essential-package-without-using-version.html 32 | 33 | -- Mikhail Novosyolov Fri, 09 Mar 2018 05:06:00 +0300 34 | 35 | hw-probe (1.3-11) unstable; urgency=low 36 | 37 | * Fixed fdisk dependency on Ubuntu 16.04 38 | 39 | -- Mikhail Novosyolov Sun, 18 Feb 2018 21:58:00 +0300 40 | 41 | hw-probe (1.3-10) unstable; urgency=low 42 | 43 | * Added new dependencies (reverse enginered a bit) 44 | 45 | -- Mikhail Novosyolov Sun, 18 Feb 2018 17:58:00 +0300 46 | 47 | hw-probe (1.3-9) unstable; urgency=low 48 | 49 | * Pulled git code with important fixes, e.g. https://github.com/linuxhw/hw-probe/commit/6226b7b19e19616e212cb2ca5f3f19eec8a770e3 50 | 51 | -- Mikhail Novosyolov Fri, 16 Feb 2018 14:42:00 +0300 52 | 53 | hw-probe (1.3-8) unstable; urgency=low 54 | 55 | * added new debian dependencies and merged upstream git changes 56 | 57 | -- Mikhail Novosyolov Mon, 12 Feb 2018 01:52:00 +0300 58 | 59 | hw-probe (1.3-4) unstable; urgency=low 60 | 61 | * add new debian dependencies and merge upstream git changes 62 | 63 | -- Mikhail Novosyolov Sun, 14 Jan 2018 12:47:00 +0300 64 | 65 | hw-probe (1.3-3) unstable; urgency=low 66 | 67 | * Initial release of the debian package 68 | 69 | -- Mikhail Novosyolov Thu, 14 Dec 2017 20:38:00 +0300 70 | -------------------------------------------------------------------------------- /INSTALL.md: -------------------------------------------------------------------------------- 1 | INSTALL HOWTO 2 | ============= 3 | 4 | HW Probe 1.4 (April 14, 2018) 5 | 6 | This file explains how to install and setup environment for the tool in your computer. 7 | 8 | See more info in the [README.md](https://github.com/linuxhw/hw-probe/). 9 | 10 | Contents 11 | -------- 12 | 13 | * [ Run without Installing ](#run-without-installing) 14 | * [ Install from Source ](#install-from-source) 15 | * [ Install on Ubuntu ](#install-on-ubuntu) 16 | * [ Install on Debian ](#install-on-debian) 17 | * [ Install on openSUSE ](#install-on-opensuse) 18 | * [ Install on Arch Linux ](#install-on-arch-linux) 19 | * [ Install on Fedora ](#install-on-fedora) 20 | * [ Install on CentOS 7 ](#install-on-centos-7) 21 | * [ Install on CentOS 6 ](#install-on-centos-6) 22 | * [ Build Debian package ](#build-debian-package) 23 | 24 | 25 | Run without Installing 26 | ---------------------- 27 | 28 | You can probe your computer by [AppImage](https://github.com/linuxhw/hw-probe#appimage), [Docker image](https://github.com/linuxhw/hw-probe#docker), [Snap](https://github.com/linuxhw/hw-probe#snap), [Flatpak](https://github.com/linuxhw/hw-probe#flatpak) or [Live CD](https://github.com/linuxhw/hw-probe#live-cd) without the need to install anything on your host. 29 | 30 | Install from Source 31 | ------------------- 32 | 33 | This command will install the `hw-probe` program in the `PREFIX/bin` system directory: 34 | 35 | sudo make install prefix=PREFIX [/usr, /usr/local, ...] 36 | 37 | To uninstall: 38 | 39 | sudo make uninstall prefix=PREFIX 40 | 41 | ###### Requires 42 | 43 | * Perl 5 44 | * perl-Digest-SHA 45 | * perl-Data-Dumper 46 | * hwinfo (https://github.com/openSUSE/hwinfo or https://pkgs.org/download/hwinfo) 47 | * curl 48 | * dmidecode 49 | * smartmontools (smartctl) 50 | * pciutils (lspci) 51 | * usbutils (lsusb) 52 | * edid-decode 53 | 54 | ###### Recommends 55 | 56 | * mcelog 57 | * hdparm 58 | * systemd-tools (systemd-analyze) 59 | * acpica-tools 60 | * mesa-demos 61 | * vulkan-utils 62 | * memtester 63 | * vulkan-utils 64 | * rfkill 65 | * sysstat (iostat) 66 | * cpuid 67 | * xinput 68 | * vainfo 69 | * inxi 70 | * i2c-tools 71 | * opensc 72 | 73 | ###### Suggests 74 | 75 | * libwww-perl (to use instead of curl) 76 | * hplip (hp-probe) 77 | * sane-backends (sane-find-scanner) 78 | * pnputils (lspnp) 79 | 80 | 81 | Install on Ubuntu 82 | ----------------- 83 | 84 | PPA: https://launchpad.net/~mikhailnov/+archive/ubuntu/hw-probe 85 | 86 | On Ubuntu and Ubuntu based Linux distributions (Linux Mint, elementary OS, etc.) you can install a PPA package: 87 | 88 | sudo add-apt-repository universe 89 | sudo add-apt-repository ppa:mikhailnov/hw-probe 90 | sudo apt update 91 | sudo apt install hw-probe --no-install-recommends 92 | 93 | ###### Snap 94 | 95 | The [Snap package](https://github.com/linuxhw/hw-probe#snap) is also available to install and run easily on Ubuntu without the need to install any Deb packages to your system. 96 | 97 | Install on Debian 98 | ----------------- 99 | 100 | Download DEB package [hw-probe_1.4-2_all.deb](https://github.com/linuxhw/hw-probe/releases/download/1.4/hw-probe_1.4-2_all.deb) and install: 101 | 102 | sudo dpkg -i ./hw-probe_1.4-2_all.deb 103 | sudo apt install -f --no-install-recommends 104 | 105 | 106 | Install on openSUSE 107 | ------------------- 108 | 109 | Setup an OBS repository and install the package: 110 | 111 | sudo zypper addrepo -G -f obs://home:linuxbuild/openSUSE_Factory hw-probe 112 | sudo zypper install --no-recommends hw-probe 113 | 114 | 115 | Install on Arch Linux 116 | --------------------- 117 | 118 | On Arch Linux and Arch Linux based Linux distributions (Manjaro, Antergos, etc.): 119 | 120 | ###### From AUR 121 | 122 | git clone https://aur.archlinux.org/hw-probe.git 123 | cd hw-probe 124 | makepkg -sri 125 | 126 | ###### Binary Package 127 | 128 | Download package [hw-probe-1.4-1.ArchLinux-any.pkg.tar.xz](https://github.com/linuxhw/hw-probe/releases/download/1.4/hw-probe-1.4-1.ArchLinux-any.pkg.tar.xz) and install by pacman: 129 | 130 | pacman -U ./hw-probe-1.4-1.ArchLinux-any.pkg.tar.xz 131 | 132 | 133 | Install on Fedora 134 | ----------------- 135 | 136 | Download package [hw-probe-1.4-101.1.Fedora.noarch.rpm](https://github.com/linuxhw/hw-probe/releases/download/1.4/hw-probe-1.4-101.1.Fedora.noarch.rpm) and install: 137 | 138 | sudo yum install ./hw-probe-1.4-101.1.Fedora.noarch.rpm 139 | 140 | ###### Fedora repository 141 | 142 | sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/home:/linuxbuild/Fedora_Rawhide/home:linuxbuild.repo 143 | sudo dnf config-manager --set-enabled home_linuxbuild 144 | sudo dnf install hw-probe 145 | 146 | Install on CentOS 7 147 | ------------------- 148 | 149 | Install dependencies: 150 | 151 | sudo yum install perl-Digest-SHA curl dmidecode pciutils usbutils smartmontools \ 152 | lm_sensors mcelog xorg-x11-utils xorg-x11-server-utils 153 | 154 | Install `hwinfo` and `libx86emu`: 155 | 156 | sudo yum install http://li.nux.ro/download/nux/dextop/el7/x86_64/hwinfo-20.2-5.3.x86_64.rpm \ 157 | http://li.nux.ro/download/nux/dextop/el7/x86_64/libx86emu-1.1-2.1.x86_64.rpm 158 | 159 | Make a probe: 160 | 161 | curl -s https://raw.githubusercontent.com/linuxhw/hw-probe/master/hw-probe.pl | sudo perl - -all -upload 162 | 163 | 164 | Install on CentOS 6 165 | ------------------- 166 | 167 | Install dependencies: 168 | 169 | sudo yum install perl-Digest-SHA curl dmidecode pciutils usbutils smartmontools \ 170 | lm_sensors mcelog xorg-x11-utils xorg-x11-server-utils 171 | 172 | Install `hwinfo` and `libx86emu`: 173 | 174 | sudo yum install http://mirror.ghettoforge.org/distributions/gf/el/6/gf/x86_64/hwinfo-20.2-1.gf.el6.x86_64.rpm \ 175 | http://mirror.ghettoforge.org/distributions/gf/el/6/gf/x86_64/libx86emu-1.1-1.gf.el6.x86_64.rpm 176 | 177 | Make a probe: 178 | 179 | curl -s https://raw.githubusercontent.com/linuxhw/hw-probe/master/hw-probe.pl | sudo perl - -all -upload 180 | 181 | 182 | Build Debian package 183 | -------------------- 184 | 185 | Build and install the latest version of hw-probe as a Deb (Debian/Ubuntu/Mint) package: 186 | 187 | ###### Quick way 188 | 189 | sudo apt install build-essential 190 | dpkg-buildpackage -us -uc -tc 191 | sudo apt install ../hw-probe_*.deb 192 | 193 | ###### Neat way 194 | 195 | Install build scripts: 196 | 197 | sudo apt install devscripts 198 | 199 | You may want to manually update the version of hw-probe in `debian/changelog`, just edit it in any text editor and save. Install build dependencies as a dummy package `hw-probe-build-deps`, which will denpend from other build dependencies: 200 | 201 | sudo mk-build-deps -r --install debian/control 202 | 203 | Now build the package: 204 | 205 | dpkg-buildpackage -us -uc -tc -i 206 | 207 | And install it (note, that it will be located one directory level up than the current directory): 208 | 209 | sudo apt install ../hw-probe_*.deb 210 | 211 | Remove build scripts and build dependencies: 212 | 213 | sudo apt autoremove hw-probe-build-deps devscripts 214 | 215 | ###### Uninstall 216 | 217 | Remove hw-probe and dependencies: 218 | 219 | sudo apt autoremove hw-probe 220 | 221 | -------------------------------------------------------------------------------- /OBS/appimage.yml: -------------------------------------------------------------------------------- 1 | app: hw-probe 2 | 3 | build: 4 | packages: 5 | - tar 6 | - gcc 7 | - make 8 | - flex 9 | - bison 10 | - gcc-c++ 11 | - automake 12 | - Mesa-libGL-devel 13 | - glew-devel 14 | - glu-devel 15 | - libusb-1_0-devel 16 | - libudev-devel 17 | - libkmod-devel 18 | 19 | script: 20 | # edid-decode 21 | - tar -xf $BUILD_SOURCE_DIR/edid-decode-20180622.tar.gz -C $BUILD_SOURCE_DIR 22 | - cd $BUILD_SOURCE_DIR/edid-decode-20180622 23 | - sed -i -e 's/ -g / -s /' Makefile 24 | - make 25 | - make install DESTDIR=$BUILD_APPDIR 26 | # dmidecode 27 | - tar -xf $BUILD_SOURCE_DIR/dmidecode-3.1.tar.gz -C $BUILD_SOURCE_DIR 28 | - cd $BUILD_SOURCE_DIR/dmidecode-3.1 29 | - sed -i -e 's/ -O2/ -s -O2/' Makefile 30 | - make 31 | - make install prefix=/usr DESTDIR=$BUILD_APPDIR 32 | # lm_sensors 33 | - tar -xf $BUILD_SOURCE_DIR/lm_sensors-3.4.0.tar.bz2 -C $BUILD_SOURCE_DIR 34 | - cd $BUILD_SOURCE_DIR/lm_sensors-3.4.0 35 | - sed -i -e 's/ -g/ -s/' Makefile 36 | - make install BUILD_STATIC_LIB=0 DEBUG=0 PREFIX=/usr DESTDIR=$BUILD_APPDIR 37 | # libkmod 38 | - tar -xf $BUILD_SOURCE_DIR/kmod-12.tar.gz -C $BUILD_SOURCE_DIR 39 | - cd $BUILD_SOURCE_DIR/kmod-12 40 | - ./configure --disable-debug --disable-python --disable-logging --disable-tools --disable-test-modules --disable-manpages --prefix=/usr 41 | - sed -i -e 's/ -g / -s /' Makefile 42 | - make 43 | - make install DESTDIR=$BUILD_APPDIR 44 | # usbutils 45 | - tar -xf $BUILD_SOURCE_DIR/usbutils-007.tar.gz -C $BUILD_SOURCE_DIR 46 | - cd $BUILD_SOURCE_DIR/usbutils-007 47 | - cp -f $BUILD_SOURCE_DIR/usb.ids . 48 | - ./configure --prefix=/usr 49 | - sed -i -e 's/ -g / -s /' Makefile 50 | - make 51 | - make install DESTDIR=$BUILD_APPDIR 52 | - sed -i -e 's|/usr|././|g' $BUILD_APPDIR/usr/bin/lsusb 53 | # pciutils 54 | - tar -xf $BUILD_SOURCE_DIR/pciutils-3.6.2.tar.gz -C $BUILD_SOURCE_DIR 55 | - cd $BUILD_SOURCE_DIR/pciutils-3.6.2 56 | - cp -f $BUILD_SOURCE_DIR/pci.ids . 57 | - make install PREFIX=/usr DESTDIR=$BUILD_APPDIR SHARED=no LIBKMOD=yes HWDB=no ZLIB=no DNS=no 58 | - sed -i -e 's|/usr|././|g' $BUILD_APPDIR/usr/sbin/lspci 59 | # acpica-unix 60 | - tar -xf $BUILD_SOURCE_DIR/acpica-unix-20180629.tar.gz -C $BUILD_SOURCE_DIR 61 | - cd $BUILD_SOURCE_DIR/acpica-unix-20180629 62 | - make 63 | - make install DESTDIR=$BUILD_APPDIR 64 | # hdparm 65 | - tar -xf $BUILD_SOURCE_DIR/hdparm-9.56.tar.gz -C $BUILD_SOURCE_DIR 66 | - cd $BUILD_SOURCE_DIR/hdparm-9.56 67 | - make 68 | - make install DESTDIR=$BUILD_APPDIR 69 | # smartmontools 70 | - tar -xf $BUILD_SOURCE_DIR/smartmontools-6.6.tar.gz -C $BUILD_SOURCE_DIR 71 | - cd $BUILD_SOURCE_DIR/smartmontools-6.6 72 | - sh autogen.sh 73 | - ./configure --with-nvme-devicescan --prefix=/ 74 | - sed -i -e 's/ -g / -s /' Makefile 75 | - make 76 | - make install DESTDIR=$BUILD_APPDIR 77 | # libx86emu 78 | - tar -xf $BUILD_SOURCE_DIR/libx86emu-1.14.tar.gz -C $BUILD_SOURCE_DIR 79 | - cd $BUILD_SOURCE_DIR/libx86emu-1.14 80 | - echo '1.14' > VERSION 81 | - rm -f git2log 82 | - sed -i -e 's/ -g / -s /' Makefile 83 | - make 84 | - make install DESTDIR=$BUILD_APPDIR 85 | # mesa-demos 86 | - tar -xf $BUILD_SOURCE_DIR/mesa-demos-8.1.0.tar.gz -C $BUILD_SOURCE_DIR 87 | - cd $BUILD_SOURCE_DIR/mesa-demos-8.1.0 88 | - ./configure --prefix=/usr 89 | - sed -i -e 's/-lGLEW//' Makefile src/xdemos/Makefile 90 | - make 91 | - cp -fr ./src/xdemos/{glxgears,glxinfo} $BUILD_APPDIR/usr/bin/ 92 | # hwinfo 93 | - tar -xf $BUILD_SOURCE_DIR/hwinfo-21.56.tar.gz -C $BUILD_SOURCE_DIR 94 | - cd $BUILD_SOURCE_DIR/hwinfo-21.56 95 | - echo '21.56' > VERSION 96 | - rm -f git2log 97 | - sed -i -e 's/ -g / -s /' Makefile.common 98 | - CFLAGS='-I'$BUILD_APPDIR'/usr/include' LDFLAGS='-L'$BUILD_APPDIR'/usr/lib64 -lx86emu' LD_LIBRARY_PATH=$BUILD_APPDIR'/usr/lib64' make 99 | - make install DESTDIR=$BUILD_APPDIR 100 | # hw-probe 101 | - tar -xf $BUILD_SOURCE_DIR/hw-probe-1.4-AI.tar.gz -C $BUILD_SOURCE_DIR 102 | - cd $BUILD_SOURCE_DIR/hw-probe-1.4-AI 103 | - make install prefix=$BUILD_APPDIR/usr 104 | # create Perl5 directory 105 | - mkdir -p $BUILD_APPDIR/usr/lib/perl5 106 | # perl-URI 107 | - tar -xf $BUILD_SOURCE_DIR/URI-1.74.tar.gz -C $BUILD_SOURCE_DIR 108 | - cd $BUILD_SOURCE_DIR/URI-1.74 109 | - perl Makefile.PL 110 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 111 | - cp -fr ./INST/SITELIB/* $BUILD_APPDIR/usr/lib/perl5/ 112 | # perl-HTTP-Message 113 | - tar -xf $BUILD_SOURCE_DIR/HTTP-Message-6.18.tar.gz -C $BUILD_SOURCE_DIR 114 | - cd $BUILD_SOURCE_DIR/HTTP-Message-6.18 115 | - perl Makefile.PL 116 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 117 | - cp -fr ./INST/SITELIB/* $BUILD_APPDIR/usr/lib/perl5/ 118 | # perl-Net-HTTP 119 | - tar -xf $BUILD_SOURCE_DIR/Net-HTTP-6.18.tar.gz -C $BUILD_SOURCE_DIR 120 | - cd $BUILD_SOURCE_DIR/Net-HTTP-6.18 121 | - perl Makefile.PL 122 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 123 | - cp -fr ./INST/SITELIB/* $BUILD_APPDIR/usr/lib/perl5/ 124 | # perl-Try-Tiny 125 | - tar -xf $BUILD_SOURCE_DIR/Try-Tiny-0.30.tar.gz -C $BUILD_SOURCE_DIR 126 | - cd $BUILD_SOURCE_DIR/Try-Tiny-0.30 127 | - perl Makefile.PL 128 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 129 | - cp -fr ./INST/SITELIB/* $BUILD_APPDIR/usr/lib/perl5/ 130 | # perl-LWP-MediaTypes 131 | - tar -xf $BUILD_SOURCE_DIR/LWP-MediaTypes-6.02.tar.gz -C $BUILD_SOURCE_DIR 132 | - cd $BUILD_SOURCE_DIR/LWP-MediaTypes-6.02 133 | - perl Makefile.PL 134 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 135 | - cp -fr ./INST/SITELIB/* $BUILD_APPDIR/usr/lib/perl5/ 136 | # perl-HTTP-Date 137 | - tar -xf $BUILD_SOURCE_DIR/HTTP-Date-6.02.tar.gz -C $BUILD_SOURCE_DIR 138 | - cd $BUILD_SOURCE_DIR/HTTP-Date-6.02 139 | - perl Makefile.PL 140 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 141 | - cp -fr ./INST/SITELIB/* $BUILD_APPDIR/usr/lib/perl5/ 142 | # perl-TimeDate 143 | - tar -xf $BUILD_SOURCE_DIR/TimeDate-2.30.tar.gz -C $BUILD_SOURCE_DIR 144 | - cd $BUILD_SOURCE_DIR/TimeDate-2.30 145 | - perl Makefile.PL 146 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 147 | - cp -fr ./INST/SITELIB/* $BUILD_APPDIR/usr/lib/perl5/ 148 | # libwww-perl 149 | - tar -xf $BUILD_SOURCE_DIR/libwww-perl-6.35.tar.gz -C $BUILD_SOURCE_DIR 150 | - cd $BUILD_SOURCE_DIR/libwww-perl-6.35 151 | - perl Makefile.PL 152 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 153 | - cp -fr ./INST/SITELIB/* $BUILD_APPDIR/usr/lib/perl5/ 154 | # perl-parent 155 | - tar -xf $BUILD_SOURCE_DIR/parent-0.237.tar.gz -C $BUILD_SOURCE_DIR 156 | - cd $BUILD_SOURCE_DIR/parent-0.237 157 | - perl Makefile.PL 158 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 159 | - cp -fr ./INST/SITELIB/* $BUILD_APPDIR/usr/lib/perl5/ 160 | # meta info 161 | - mkdir -p $BUILD_APPDIR/usr/share/metainfo/ 162 | - cp -f $BUILD_SOURCE_DIR/hw-probe.appdata.xml $BUILD_APPDIR/usr/share/metainfo/ 163 | - cp -f $BUILD_SOURCE_DIR/hw-probe.desktop $BUILD_APPDIR/ 164 | - cp -f $BUILD_SOURCE_DIR/hw-probe.png $BUILD_APPDIR/ 165 | # remove unused files 166 | - cd $BUILD_APPDIR 167 | # header files 168 | - rm -fr usr/include share/smartmontools/ 169 | # binaries 170 | - rm -fr usr/bin/{lsusb.py,acpibin,acpiexamples,acpiexec,acpihelp,acpinames,acpisrc,usbhid-dump,sensors-conf-convert} 171 | - rm -fr sbin/{update-smart-drivedb,smartd} 172 | - rm -fr usr/sbin/{convert_hd,update-usbids.sh,check_hd,mk_isdnhwdb,getsysinfo,fancontrol,pwmconfig,update-pciids,isadump,isaset,ownership,setpci,vpddecode,sensors-detect} 173 | # configs 174 | - rm -fr usr/lib/{pkgconfig,systemd,libkmod.la} 175 | - rm -fr usr/lib64/pkgconfig 176 | - rm -fr etc/{sensors.d,smartd*,zypp} 177 | - rm -fr usr/share/{hwinfo,man,doc,pkgconfig} 178 | # other 179 | - rm -fr var share usr/man 180 | - rm -fr usr/lib/perl5/libwww/*.pod 181 | # strip binaries 182 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 183 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | HW PROBE 1.4 2 | ============ 3 | 4 | Hardware Probe Tool (HW Probe) — a tool to probe for hardware, check its operability and upload result to the Linux hardware database: https://linux-hardware.org 5 | 6 | Contents 7 | -------- 8 | 9 | * [ About ](#about) 10 | * [ Install ](#install) 11 | * [ Usage ](#usage) 12 | * [ AppImage ](#appimage) 13 | * [ Docker ](#docker) 14 | * [ Live CD ](#live-cd) 15 | * [ Snap ](#snap) 16 | * [ Flatpak ](#flatpak) 17 | * [ Inventory ](#inventory) 18 | * [ Offline view ](#offline-view) 19 | * [ ACPI dump ](#acpi-dump) 20 | * [ Operability ](#operability) 21 | * [ Privacy ](#privacy) 22 | 23 | 24 | About 25 | ----- 26 | 27 | Probe — is a snapshot of your computer's hardware state and system logs. HW Probe tool returns a permanent URL to view the probe of the computer. 28 | 29 | Sample probe: https://linux-hardware.org/?probe=b394035f90 30 | 31 | Share your probes and logs with Linux developers in order to debug and fix problems on your computer. Simplify inventory of hardware in your company. 32 | 33 | You can make a probe of your computer with the help of [AppImage](#appimage), [Docker image](#docker), [Snap](#snap), [Flatpak](#flatpak), [Live CD](#live-cd) or RPM/DEB package. 34 | 35 | By creating probes you contribute to the "HDD/SSD Real-Life Reliability Test" study: https://github.com/linuxhw/SMART 36 | 37 | 38 | Install 39 | ------- 40 | 41 | You can probe your computer by [AppImage](#appimage), [Docker image](#docker), [Snap](#snap), [Flatpak](#flatpak) or [Live CD](#live-cd). 42 | 43 | Also you can install native RPM/DEB package for your Linux distribution or install from source. See all install instructions in the [INSTALL.md](https://github.com/linuxhw/hw-probe/blob/master/INSTALL.md) file. 44 | 45 | 46 | Usage 47 | ----- 48 | 49 | Make a probe: 50 | 51 | sudo hw-probe -all -upload -id "DESC" 52 | 53 | DESC — any description of the probe. 54 | 55 | 56 | AppImage 57 | -------- 58 | 59 | The portable app that runs anywhere, no need to install anything. Just download [hw-probe-1.4-129-x86_64.AppImage](https://github.com/linuxhw/hw-probe/releases/download/1.4/hw-probe-1.4-129-x86_64.AppImage) and run the following command in terminal to probe your computer: 60 | 61 | chmod +x ./hw-probe-1.4-129-x86_64.AppImage 62 | sudo ./hw-probe-1.4-129-x86_64.AppImage -all -upload 63 | 64 | ###### Supported systems 65 | 66 | The app runs on all Linux distributions with `Glibc >= 2.14` including: 67 | 68 | * Ubuntu 12.04 and later 69 | * Linux Mint 13 and later 70 | * Debian 8 and later 71 | * openSUSE 12.0 and later 72 | * Manjaro 0.8 and later 73 | * ROSA Linux R1 and later 74 | * elementary OS 0.2 and later 75 | * Fedora 15 and later (need to add `fuse-libs` package to host on Fedora 15, 16 and 17) 76 | * RHEL 7 and later 77 | * CentOS 7 and later 78 | * Mageia 2 and later 79 | * Alt Linux 7 and later 80 | * Gentoo 12 and later 81 | * Sabayon 13 and later 82 | * Slackware 14.2 and later 83 | 84 | Docker 85 | ------ 86 | 87 | You can easily make a probe on any Linux distribution without installing the tool with the help of the Docker image: 88 | 89 | sudo docker run -it \ 90 | -v /dev:/dev:ro \ 91 | -v /lib/modules:/lib/modules:ro \ 92 | -v /etc/os-release:/etc/os-release:ro \ 93 | -v /var/log:/var/log:ro \ 94 | --privileged --net=host --pid=host \ 95 | linuxhw/hw-probe -all -upload -id DESC 96 | 97 | You may need to run `xhost +local:` before docker run to collect X11 info (xrandr, xinput, etc.). 98 | 99 | Docker hub repository: https://hub.docker.com/r/linuxhw/hw-probe/ 100 | 101 | 102 | Live CD 103 | ------- 104 | 105 | If the tool is not pre-installed in your system or you have troubles with installing the tool or its dependencies (e.g. hwinfo is not available in the repository) then try this Linux CD with hw-probe installed: https://mirror.yandex.ru/rosa/rosa2016.1/iso/ROSA.Fresh.R10/ 106 | 107 | Boot this Linux CD on your computer and make a probe (see [Usage](#usage)). 108 | 109 | 110 | Snap 111 | ---- 112 | 113 | Download the universal Linux package [hw-probe_1.4-2_amd64.snap](https://github.com/linuxhw/hw-probe/releases/download/1.4/hw-probe_1.4-2_amd64.snap) and install: 114 | 115 | sudo snap install ./hw-probe_1.4-2_amd64.snap --dangerous --classic 116 | 117 | The `hw-probe` command should become available on the command line after installation. If not, try: 118 | 119 | export PATH=$PATH:/snap/bin 120 | 121 | Now you can create computer probes: 122 | 123 | sudo hw-probe -all -upload 124 | 125 | NOTE: You need a Snap runtime (`snapd` package) and `/snap` symlink to `/var/lib/snapd/snap` (by `sudo ln -s /var/lib/snapd/snap /snap`) in your system to install and run snaps (pre-installed on Ubuntu 16.04 and Ubuntu 18.04). 126 | 127 | ###### Snap Store 128 | 129 | The app is available in the Snap Store: https://snapcraft.io/hw-probe 130 | 131 | This is a strict snap that runs in a sandbox with limited functionality. It's better to use classic snap (see above) to collect more info about the computer. 132 | 133 | Install app from Store: 134 | 135 | sudo snap install hw-probe 136 | 137 | Connect system interfaces: 138 | 139 | for i in hardware-observe mount-observe network-observe \ 140 | system-observe upower-observe log-observe raw-usb \ 141 | physical-memory-observe opengl;do sudo snap connect hw-probe:$i :$i; done 142 | 143 | Now you can create computer probes: 144 | 145 | sudo hw-probe -all -upload 146 | 147 | ###### Supported systems 148 | 149 | * Ubuntu 14.04 and later 150 | * Debian 9 and later 151 | * Fedora 26 and later 152 | 153 | 154 | Flatpak 155 | ------- 156 | 157 | Add a remote: 158 | 159 | flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo 160 | 161 | Install universal package: 162 | 163 | flatpak install flathub org.linux_hardware.hw-probe 164 | 165 | Now you can create computer probes: 166 | 167 | sudo flatpak run org.linux_hardware.hw-probe -all -upload 168 | 169 | ###### App Center 170 | 171 | Find the `Hardware Probe` application in your App Center, install it and click on the desktop icon to make a probe. Enable Flatpak plugin if needed (`gnome-software-plugin-flatpak` package for Debian/Ubuntu). 172 | 173 | ###### Flathub 174 | 175 | The app is available in the Flathub: https://flathub.org/apps/details/org.linux_hardware.hw-probe 176 | 177 | Inventory 178 | --------- 179 | 180 | Request inventory ID: 181 | 182 | hw-probe -get-inventory-id 183 | 184 | Mark your probes by this ID: 185 | 186 | sudo hw-probe -all -upload -id DESC -inventory-id ID 187 | 188 | Find your computers by the inventory ID on this page: https://linux-hardware.org/?view=computers 189 | 190 | 191 | Offline view 192 | ------------ 193 | 194 | Save your probes HTML view to a directory for offline use: 195 | 196 | sudo hw-probe -import DIR 197 | 198 | 199 | ACPI dump 200 | --------- 201 | 202 | Dump and decode ACPI table: 203 | 204 | sudo hw-probe -all -upload -dump-acpi -decode-acpi 205 | 206 | NOTE: "acpica-tools" package should be installed 207 | 208 | 209 | Operability 210 | ----------- 211 | 212 | The tool checks operability of devices on board by analysis of collected log files. You can perform additional operability sanity tests by the following command: 213 | 214 | sudo hw-probe -all -check -upload 215 | 216 | The following tests are executed: 217 | 218 | * graphics test by `glxgears` (for both integrated and discrete graphics cards) 219 | * drive read speed test by `hdparm` (for all HDDs and SSDs) 220 | * CPU performance test by `dd` and `md5sum` 221 | * RAM memory test by `memtester` 222 | 223 | Execution time is about 1 min for average modern desktop hardware. 224 | 225 | 226 | Privacy 227 | ------- 228 | 229 | Private information (including the username, machine's hostname, IP addresses, MAC addresses and serial numbers) is NOT uploaded to the database. 230 | 231 | The tool uploads SHA512 hash of MAC addresses and serial numbers to properly identify unique computers and hard drives. All the data is uploaded securely via HTTPS. 232 | 233 | 234 | Enjoy! 235 | -------------------------------------------------------------------------------- /snap/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: hw-probe 2 | version: 1.4-10 3 | summary: A tool to check operability of computer hardware 4 | description: > 5 | A tool to check operability of computer hardware and upload result 6 | to the Linux hardware database. 7 | 8 | Probe — is a snapshot of your computer hardware state and system 9 | logs. The tool returns a permanent URL to view the probe of the 10 | computer. 11 | 12 | The tool is intended to simplify collecting of logs necessary for 13 | investigating hardware related problems. Just ask a user to run one 14 | simple command to collect all the system logs at once: 15 | 16 | sudo hw-probe -all -upload 17 | 18 | Make sure required Snap interfaces are connected: 19 | 20 | for i in hardware-observe mount-observe network-observe system-observe upower-observe log-observe raw-usb physical-memory-observe opengl;do sudo snap connect hw-probe:$i :$i; done 21 | 22 | By creating probes you contribute to the HDD/SSD Real-Life 23 | Reliability Test study: https://github.com/linuxhw/SMART 24 | 25 | The tool is released under the GNU LGPL 2.1+ license. 26 | 27 | type: app 28 | confinement: strict 29 | grade: stable 30 | apps: 31 | hw-probe: 32 | command: usr/bin/hw-probe -snap 33 | plugs: [hardware-observe, mount-observe, network-observe, system-observe, upower-observe, log-observe, raw-usb, physical-memory-observe, opengl] 34 | environment: 35 | PATH: $PATH:$SNAP/sbin:$SNAP/usr/sbin:$SNAP/usr/bin 36 | PERL5LIB: $SNAP/usr/share/perl5:$SNAP/usr/lib/x86_64-linux-gnu/perl-base:$SNAP/usr/lib/i386-linux-gnu/perl-base 37 | LD_LIBRARY_PATH: $SNAP/lib/x86_64-linux-gnu/:$SNAP/lib/i386-linux-gnu/:$SNAP/usr/lib64:$SNAP/usr/lib:$SNAP/usr/lib/x86_64-linux-gnu:$SNAP/usr/lib/i386-linux-gnu 38 | LC_ALL: C 39 | parts: 40 | edid-decode: 41 | source: https://git.linuxtv.org/cgit.cgi/edid-decode.git 42 | source-type: git 43 | plugin: make 44 | override-build: | 45 | sed -i -e 's/ -g / -s /' Makefile 46 | make 47 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 48 | build-packages: 49 | - gcc 50 | - make 51 | prime: 52 | - usr/bin/edid-decode 53 | dmidecode: 54 | source: https://download-mirror.savannah.gnu.org/releases/dmidecode/dmidecode-3.1.tar.xz 55 | source-type: tar 56 | plugin: make 57 | override-build: | 58 | sed -i -e 's/ -O2/ -s -O2/' Makefile 59 | make 60 | make install prefix=/usr DESTDIR=$SNAPCRAFT_PART_INSTALL 61 | find $SNAPCRAFT_PART_INSTALL -type f | perl -lne 'print if -B and -x' | xargs strip 62 | build-packages: 63 | - gcc 64 | - make 65 | stage-packages: 66 | - on armhf: 67 | - dmidecode 68 | - on arm64: 69 | - dmidecode 70 | prime: 71 | - usr/sbin 72 | lm-sensors: 73 | source: https://ftp.gwdg.de/pub/linux/misc/lm-sensors/lm_sensors-3.4.0.tar.bz2 74 | source-type: tar 75 | plugin: make 76 | override-build: | 77 | sed -i -e 's/ -g / -s /' Makefile 78 | make 79 | make install BUILD_STATIC_LIB=0 DEBUG=0 PREFIX=/usr DESTDIR=$SNAPCRAFT_PART_INSTALL 80 | find $SNAPCRAFT_PART_INSTALL -type f | perl -lne 'print if -B and -x' | xargs strip 81 | build-packages: 82 | - gcc 83 | - make 84 | prime: 85 | - usr/bin/sensors 86 | - etc/sensors3.conf 87 | - usr/lib/libsensors* 88 | libkmod: 89 | source: http://ftp.riken.jp/Linux/kernel.org/linux/utils/kernel/kmod/kmod-12.tar.gz 90 | source-type: tar 91 | plugin: make 92 | override-build: | 93 | ./configure --disable-debug --disable-python --disable-logging --disable-test-modules --disable-manpages --prefix=/usr 94 | sed -i -e 's/ -g / -s /' Makefile 95 | make 96 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 97 | find $SNAPCRAFT_PART_INSTALL -type f | perl -lne 'print if -B and -x' | xargs strip 98 | build-packages: 99 | - gcc 100 | - make 101 | prime: 102 | - usr/lib/libkmod.so* 103 | usbutils: 104 | source: https://mirrors.edge.kernel.org/pub/linux/utils/usb/usbutils/usbutils-007.tar.xz 105 | source-type: tar 106 | plugin: make 107 | override-build: | 108 | curl http://www.linux-usb.org/usb.ids > usb.ids 109 | ./configure --prefix=/usr 110 | sed -i -e 's/ -g / -s /' Makefile 111 | make 112 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 113 | find $SNAPCRAFT_PART_INSTALL -type f | perl -lne 'print if -B and -x' | xargs strip 114 | sed -i -e 's|/usr/share/usb.ids|/tmp/HW_PROBE_USB_|' $SNAPCRAFT_PART_INSTALL/usr/bin/lsusb 115 | build-packages: 116 | - gcc 117 | - make 118 | - curl 119 | - libusb-1.0-0-dev 120 | - libudev-dev 121 | prime: 122 | - usr/bin/lsusb 123 | - usr/bin/usb-devices 124 | - usr/share/usb.ids 125 | pciutils: 126 | source: https://github.com/pciutils/pciutils/archive/v3.6.2.tar.gz 127 | source-type: tar 128 | plugin: make 129 | override-build: | 130 | curl https://pci-ids.ucw.cz/v2.2/pci.ids > pci.ids 131 | make install PREFIX=/usr DESTDIR=$SNAPCRAFT_PART_INSTALL SHARED=no LIBKMOD=yes HWDB=no ZLIB=no DNS=no 132 | sed -i -e 's|/usr/share/pci.ids|/tmp/HW_PROBE_PCI_|' $SNAPCRAFT_PART_INSTALL/usr/sbin/lspci 133 | build-packages: 134 | - gcc 135 | - make 136 | - curl 137 | - libkmod-dev 138 | - pkg-config 139 | - libtool 140 | prime: 141 | - usr/sbin/lspci 142 | - usr/share/pci.ids 143 | acpica-unix: 144 | source: https://acpica.org/sites/acpica/files/acpica-unix-20180629.tar.gz 145 | source-type: tar 146 | plugin: make 147 | build-attributes: [no-patchelf] 148 | override-build: | 149 | make 150 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 151 | build-packages: 152 | - gcc 153 | - make 154 | - bison 155 | prime: 156 | - usr/bin/acpidump 157 | - usr/bin/iasl 158 | - usr/bin/acpixtract 159 | hdparm: 160 | source: https://github.com/linuxhw/build-stuff/releases/download/1.4/hdparm-9.56.tar.gz 161 | source-type: tar 162 | plugin: make 163 | override-build: | 164 | make 165 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 166 | build-packages: 167 | - gcc 168 | - make 169 | prime: 170 | - sbin/hdparm 171 | smartmontools: 172 | source: https://github.com/linuxhw/build-stuff/releases/download/1.4/smartmontools-6.6.tar.gz 173 | source-type: tar 174 | plugin: make 175 | override-build: | 176 | sh autogen.sh 177 | ./configure --with-nvme-devicescan --prefix=/ 178 | sed -i -e 's/ -g / -s /' Makefile 179 | make 180 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 181 | find $SNAPCRAFT_PART_INSTALL -type f | perl -lne 'print if -B and -x' | xargs strip 182 | build-packages: 183 | - gcc 184 | - make 185 | - automake 186 | prime: 187 | - sbin/smartctl 188 | libusb-1: 189 | source: https://github.com/libusb/libusb/archive/v1.0.22.tar.gz 190 | source-type: tar 191 | plugin: make 192 | override-build: | 193 | sh autogen.sh 194 | ./configure --disable-static --prefix=/usr 195 | sed -i -e 's/ -g / -s /' Makefile 196 | make 197 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 198 | find $SNAPCRAFT_PART_INSTALL -type f | perl -lne 'print if -B and -x' | xargs strip 199 | build-packages: 200 | - gcc 201 | - make 202 | - automake 203 | prime: 204 | - usr/lib/libusb*.so* 205 | util-linux: 206 | source: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.1.tar.gz 207 | source-type: tar 208 | plugin: make 209 | override-build: | 210 | ./configure --prefix=/usr 211 | sed -i -e 's/ -g / -s /' Makefile 212 | make 213 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/bin/ 214 | cp -f ./dmesg $SNAPCRAFT_PART_INSTALL/usr/bin/ 215 | find $SNAPCRAFT_PART_INSTALL -type f | perl -lne 'print if -B and -x' | xargs strip 216 | build-packages: 217 | - gcc 218 | - make 219 | - automake 220 | prime: 221 | - usr/bin/dmesg 222 | libx86emu: 223 | source: https://github.com/wfeldt/libx86emu/archive/2.1.tar.gz 224 | source-type: tar 225 | plugin: make 226 | override-build: | 227 | echo '2.1' > VERSION 228 | rm -f git2log 229 | sed -i -e 's/ -g / -s /' Makefile 230 | make 231 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 232 | find $SNAPCRAFT_PART_INSTALL -type f | perl -lne 'print if -B and -x' | xargs strip 233 | build-packages: 234 | - gcc 235 | - make 236 | hwinfo: 237 | after: [libx86emu] 238 | source: https://github.com/openSUSE/hwinfo/archive/21.57.tar.gz 239 | source-type: tar 240 | plugin: make 241 | override-build: | 242 | echo '21.57' > VERSION 243 | rm -f git2log 244 | sed -i -e 's/ -g / -s /' Makefile.common 245 | CFLAGS='-I'$SNAPCRAFT_STAGE'/usr/include' LDFLAGS='-L'$SNAPCRAFT_STAGE'/usr/lib64 -L'$SNAPCRAFT_STAGE'/usr/lib -lx86emu' make 246 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 247 | build-packages: 248 | - gcc 249 | - make 250 | - flex 251 | prime: 252 | - usr/lib64/libhd* 253 | - usr/lib/libhd* 254 | - usr/share/hwinfo/* 255 | - usr/sbin/hwinfo 256 | perl-uri: 257 | source: https://cpan.metacpan.org/authors/id/E/ET/ETHER/URI-1.74.tar.gz 258 | source-type: tar 259 | plugin: make 260 | override-build: | 261 | perl Makefile.PL 262 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 263 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 264 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 265 | build-packages: 266 | - make 267 | - perl 268 | perl-http-message: 269 | source: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Message-6.18.tar.gz 270 | source-type: tar 271 | plugin: make 272 | override-build: | 273 | perl Makefile.PL 274 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 275 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 276 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 277 | build-packages: 278 | - make 279 | - perl 280 | perl-net-http: 281 | source: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/Net-HTTP-6.18.tar.gz 282 | source-type: tar 283 | plugin: make 284 | override-build: | 285 | perl Makefile.PL 286 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 287 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 288 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 289 | build-packages: 290 | - make 291 | - perl 292 | perl-try-tiny: 293 | source: https://cpan.metacpan.org/authors/id/E/ET/ETHER/Try-Tiny-0.30.tar.gz 294 | source-type: tar 295 | plugin: make 296 | override-build: | 297 | perl Makefile.PL 298 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 299 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 300 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 301 | build-packages: 302 | - make 303 | - perl 304 | perl-lwp-mediatypes: 305 | source: https://cpan.metacpan.org/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz 306 | source-type: tar 307 | plugin: make 308 | override-build: | 309 | perl Makefile.PL 310 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 311 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 312 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 313 | build-packages: 314 | - make 315 | - perl 316 | perl-http-date: 317 | source: https://cpan.metacpan.org/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz 318 | source-type: tar 319 | plugin: make 320 | override-build: | 321 | perl Makefile.PL 322 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 323 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 324 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 325 | build-packages: 326 | - make 327 | - perl 328 | perl-timedate: 329 | source: https://cpan.metacpan.org/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz 330 | source-type: tar 331 | plugin: make 332 | override-build: | 333 | perl Makefile.PL 334 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 335 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 336 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 337 | build-packages: 338 | - make 339 | - perl 340 | libwww-perl: 341 | source: https://cpan.metacpan.org/authors/id/E/ET/ETHER/libwww-perl-6.35.tar.gz 342 | source-type: tar 343 | plugin: make 344 | override-build: | 345 | perl Makefile.PL 346 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 347 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 348 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 349 | build-packages: 350 | - make 351 | - perl 352 | prime: 353 | - usr/share/perl5/LWP 354 | - usr/share/perl5/LWP.pm 355 | perl-parent: 356 | source: https://cpan.metacpan.org/authors/id/C/CO/CORION/parent-0.237.tar.gz 357 | source-type: tar 358 | plugin: make 359 | override-build: | 360 | perl Makefile.PL 361 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 362 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 363 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 364 | build-packages: 365 | - make 366 | - perl 367 | perl-data-dumper: 368 | source: https://cpan.metacpan.org/authors/id/S/SM/SMUELLER/Data-Dumper-2.161.tar.gz 369 | source-type: tar 370 | plugin: make 371 | override-build: | 372 | perl Makefile.PL 373 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 374 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 375 | cp -fr ./INST/usr/lib/*-linux-gnu*/perl/*/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 376 | build-packages: 377 | - make 378 | - perl 379 | perl-time-local: 380 | source: https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Time-Local-1.28.tar.gz 381 | source-type: tar 382 | plugin: make 383 | override-build: | 384 | perl Makefile.PL 385 | make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 386 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 387 | cp -fr ./INST/SITELIB/* $SNAPCRAFT_PART_INSTALL/usr/share/perl5/ 388 | build-packages: 389 | - make 390 | - perl 391 | hw-probe: 392 | source: https://github.com/linuxhw/build-stuff/releases/download/1.4/hw-probe-1.4-AI.tar.gz 393 | source-type: tar 394 | plugin: make 395 | override-build: | 396 | make install DESTDIR=$SNAPCRAFT_PART_INSTALL 397 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/perl5/File/ 398 | mv $SNAPCRAFT_PART_INSTALL/usr/share/perl/5.*.*/File/Copy.pm $SNAPCRAFT_PART_INSTALL/usr/share/perl5/File/ 399 | build-packages: 400 | - make 401 | - perl 402 | stage-packages: 403 | - perl-base 404 | - perl-modules 405 | prime: 406 | - usr/bin/hw-probe 407 | - usr/lib/*-linux-gnu/perl-base 408 | - usr/bin/perl 409 | - usr/share/perl5/File/Copy.pm 410 | 411 | -------------------------------------------------------------------------------- /flatpak/org.linux_hardware.hw-probe.yaml: -------------------------------------------------------------------------------- 1 | app-id: org.linux_hardware.hw-probe 2 | runtime: org.freedesktop.Platform 3 | runtime-version: "18.08" 4 | sdk: org.freedesktop.Sdk 5 | command: hw-probe 6 | finish-args: 7 | - --share=network 8 | - --device=all 9 | - --filesystem=host:ro 10 | - --filesystem=/var/log:ro 11 | - --filesystem=/sys:ro 12 | - --env=PATH=/usr/bin:/bin:/usr/sbin:/sbin:/app/bin:/app/sbin 13 | - --env=PERL5LIB=/app/share/perl5:/app/lib/x86_64-linux-gnu/perl-base:/app/lib/i386-linux-gnu/perl-base 14 | - --env=LD_LIBRARY_PATH=/app/lib/x86_64-linux-gnu/:/app/lib/i386-linux-gnu/:/app/lib64:/app/lib 15 | - --env=LC_ALL=C 16 | build-options: 17 | env: 18 | - PERL5LIB=/app/share/automake-1.10/ 19 | - ACLOCAL_PATH=/app/share/aclocal 20 | cleanup: 21 | - /include 22 | - /man 23 | - /share/doc 24 | - /share/man 25 | - /share/hwinfo 26 | - /share/pkgconfig 27 | - /share/usb.ids.gz 28 | - /share/smartmontools 29 | - /share/PERL5_BASE 30 | - /share/automake* 31 | - /share/info 32 | - /share/aclocal* 33 | - /share/libtool 34 | - /sbin/check_hd 35 | - /sbin/convert_hd 36 | - /sbin/fancontrol 37 | - /sbin/getsysinfo 38 | - /sbin/isadump 39 | - /sbin/isaset 40 | - /sbin/mk_isdnhwdb 41 | - /sbin/ownership 42 | - /sbin/pwmconfig 43 | - /sbin/sensors-detect 44 | - /sbin/setpci 45 | - /sbin/update-pciids 46 | - /sbin/update-usbids.sh 47 | - /sbin/vpddecode 48 | - /sbin/smartd 49 | - /sbin/update-smart-drivedb 50 | - /lib64/pkgconfig 51 | - /lib/pkgconfig 52 | - /lib/debug 53 | - /lib/libltdl* 54 | - /bin/acpibin 55 | - /bin/acpiexamples 56 | - /bin/acpiexec 57 | - /bin/acpihelp 58 | - /bin/acpinames 59 | - /bin/acpisrc 60 | - /bin/kmod 61 | - /bin/lsusb.py 62 | - /bin/sensors-conf-convert 63 | - /bin/usbhid-dump 64 | - /bin/lex 65 | - /bin/automake* 66 | - /bin/aclocal* 67 | - /bin/libtool* 68 | - /etc/init.d 69 | - /etc/smartd_warning.d 70 | - /etc/sensors.d 71 | - /etc/smartd.conf 72 | - /etc/smartd_warning.sh 73 | - /var/lib 74 | modules: 75 | - name: automake 76 | buildsystem: simple 77 | build-commands: 78 | - ./configure --prefix=$FLATPAK_DEST 79 | - make -j $FLATPAK_BUILDER_N_JOBS 80 | - make install 81 | sources: 82 | - type: archive 83 | url: https://ftp.gnu.org/gnu/automake/automake-1.15.tar.xz 84 | sha256: 9908c75aabd49d13661d6dcb1bc382252d22cc77bf733a2d55e87f2aa2db8636 85 | - name: libtool 86 | buildsystem: simple 87 | build-commands: 88 | - ./configure --prefix=$FLATPAK_DEST 89 | - make -j $FLATPAK_BUILDER_N_JOBS 90 | - make install 91 | sources: 92 | - type: archive 93 | url: https://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz 94 | sha256: 7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f 95 | - name: edid-decode 96 | buildsystem: simple 97 | build-commands: 98 | - sed -i -e 's/ -g / -s /' Makefile 99 | - make -j $FLATPAK_BUILDER_N_JOBS 100 | - make install DESTDIR=$FLATPAK_DEST bindir=/bin mandir=/share/man 101 | sources: 102 | - type: archive 103 | url: https://github.com/linuxhw/build-stuff/releases/download/1.4/edid-decode-20180622.tar.gz 104 | sha256: ab44c58a3712beca8ffa0ac937dc24d337cb0ecd18e703b4ddf3a10b0df35e1e 105 | - name: dmidecode 106 | buildsystem: simple 107 | build-commands: 108 | - sed -i -e 's/ -O2/ -s -O2/' Makefile 109 | - make -j $FLATPAK_BUILDER_N_JOBS 110 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 111 | - make install prefix=/ DESTDIR=$FLATPAK_DEST 112 | sources: 113 | - type: archive 114 | url: https://download-mirror.savannah.gnu.org/releases/dmidecode/dmidecode-3.1.tar.xz 115 | sha256: d766ce9b25548c59b1e7e930505b4cad9a7bb0b904a1a391fbb604d529781ac0 116 | - name: iproute2 117 | buildsystem: simple 118 | build-commands: 119 | - ./configure --prefix=/ 120 | - make -j $FLATPAK_BUILDER_N_JOBS 121 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 122 | - install -D ./ip/ip $FLATPAK_DEST/sbin/ip 123 | sources: 124 | - type: archive 125 | url: https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/iproute2-4.18.0.tar.xz 126 | sha256: a9e6c70c95f513871c5e1f4e452c04fcb3c4d8a05be651bd794cd994a52daa45 127 | - name: lm-sensors 128 | buildsystem: simple 129 | build-commands: 130 | - sed -i -e 's/ -g / -s /' Makefile 131 | - make -j $FLATPAK_BUILDER_N_JOBS 132 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 133 | - make install BUILD_STATIC_LIB=0 DEBUG=0 PREFIX=/ DESTDIR=$FLATPAK_DEST 134 | sources: 135 | - type: archive 136 | url: https://ftp.gwdg.de/pub/linux/misc/lm-sensors/lm_sensors-3.4.0.tar.bz2 137 | sha256: e0579016081a262dd23eafe1d22b41ebde78921e73a1dcef71e05e424340061f 138 | - name: libkmod 139 | buildsystem: simple 140 | build-commands: 141 | - ./configure --disable-debug --disable-python --disable-logging --disable-test-modules --disable-manpages --prefix=/ 142 | - sed -i -e 's/ -g / -s /' Makefile 143 | - make -j $FLATPAK_BUILDER_N_JOBS 144 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 145 | - make install DESTDIR=$FLATPAK_DEST 146 | sources: 147 | - type: archive 148 | url: https://cdn.kernel.org/pub/linux/utils/kernel/kmod/kmod-12.tar.xz 149 | sha256: c6189dd8c5a1e8d9224e8506bd188c0cd5dfa119fd6b7e5869b3640cbe8bf92f 150 | - name: libusb-1 151 | buildsystem: simple 152 | build-commands: 153 | - NOCONFIGURE=1 sh autogen.sh 154 | - ./configure --disable-static --disable-udev --prefix=/ 155 | - sed -i -e 's/ -g / -s /' Makefile 156 | - make -j $FLATPAK_BUILDER_N_JOBS 157 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 158 | - make install DESTDIR=$FLATPAK_DEST 159 | sources: 160 | - type: archive 161 | url: https://github.com/libusb/libusb/archive/v1.0.22.tar.gz 162 | sha256: 3500f7b182750cd9ccf9be8b1df998f83df56a39ab264976bdb3307773e16f48 163 | - name: usbutils 164 | buildsystem: simple 165 | build-commands: 166 | - ./configure --prefix=/ LIBUSB_CFLAGS='-I'$FLATPAK_DEST'/include/libusb-1.0' LIBUSB_LIBS='-L'$FLATPAK_DEST'/lib64 -L'$FLATPAK_DEST'/lib -lusb-1.0' 167 | - sed -i -e 's/ -g / -s /' Makefile 168 | - make -j $FLATPAK_BUILDER_N_JOBS 169 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 170 | - make install DESTDIR=$FLATPAK_DEST 171 | - sed -i -e 's|/share/usb.ids|/var/tmp/P_USB|' $FLATPAK_DEST/bin/lsusb 172 | sources: 173 | - type: archive 174 | url: https://mirrors.edge.kernel.org/pub/linux/utils/usb/usbutils/usbutils-007.tar.xz 175 | sha256: 7593a01724bbc0fd9fe48e62bc721ceb61c76654f1d7b231b3c65f6dfbbaefa4 176 | - name: pciutils 177 | buildsystem: simple 178 | build-commands: 179 | - make install PREFIX=/ DESTDIR=$FLATPAK_DEST SHARED=no LIBKMOD=no HWDB=no ZLIB=no DNS=no 180 | - sed -i -e 's|/share/pci.ids|/var/tmp/P_PCI|' $FLATPAK_DEST/sbin/lspci 181 | sources: 182 | - type: archive 183 | url: https://github.com/pciutils/pciutils/archive/v3.6.2.tar.gz 184 | sha256: d84d7096a71890f0ddddc50e88ac5a3bc7412bf48d8100fc15857a411564687d 185 | - name: acpica-unix 186 | buildsystem: simple 187 | build-commands: 188 | - make -j $FLATPAK_BUILDER_N_JOBS 189 | - make install DESTDIR=$FLATPAK_DEST PREFIX=/ 190 | sources: 191 | - type: archive 192 | url: https://acpica.org/sites/acpica/files/acpica-unix-20180629.tar.gz 193 | sha256: 70d11f3f2adbdc64a5b33753e1889918af811ec8050722fbee0fdfc3bfd29a4f 194 | - name: hdparm 195 | buildsystem: simple 196 | build-commands: 197 | - make -j $FLATPAK_BUILDER_N_JOBS 198 | - make install DESTDIR=`pwd`/INST 199 | - install -D INST/sbin/hdparm $FLATPAK_DEST/sbin/hdparm 200 | sources: 201 | - type: archive 202 | url: https://github.com/linuxhw/build-stuff/releases/download/1.4/hdparm-9.56.tar.gz 203 | sha256: 6ff9ed695f1017396eec4101f990f114b7b0e0a04c5aa6369c0394053d16e4da 204 | - name: smartmontools 205 | buildsystem: simple 206 | build-commands: 207 | - NOCONFIGURE=1 sh autogen.sh 208 | - ./configure --with-nvme-devicescan --prefix=/ 209 | - sed -i -e 's/ -g / -s /' Makefile 210 | - make -j $FLATPAK_BUILDER_N_JOBS 211 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 212 | - make install DESTDIR=$FLATPAK_DEST 213 | sources: 214 | - type: archive 215 | url: https://github.com/linuxhw/build-stuff/releases/download/1.4/smartmontools-6.6.tar.gz 216 | sha256: 51f43d0fb064fccaf823bbe68cf0d317d0895ff895aa353b3339a3b316a53054 217 | - name: util-linux 218 | buildsystem: simple 219 | build-commands: 220 | - ./configure --prefix=/ 221 | - sed -i -e 's/ -g / -s /' Makefile 222 | - make -j $FLATPAK_BUILDER_N_JOBS 223 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 224 | - install -D ./dmesg $FLATPAK_DEST/bin/dmesg 225 | sources: 226 | - type: archive 227 | url: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.1.tar.gz 228 | sha256: 3bbf9f3d4a33d6653cf0f7e4fc422091b6a38c3b1195c0ee716c67148a1a7122 229 | - name: libx86emu 230 | buildsystem: simple 231 | build-commands: 232 | - echo '2.1' > VERSION 233 | - rm -f git2log 234 | - sed -i -e 's/ -g / -s /' Makefile 235 | - make -j $FLATPAK_BUILDER_N_JOBS 236 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 237 | - make install DESTDIR=`pwd`/INST 238 | - cp -fr INST/usr/* $FLATPAK_DEST/ 239 | sources: 240 | - type: archive 241 | url: https://github.com/wfeldt/libx86emu/archive/2.1.tar.gz 242 | sha256: 89fd46760a02e2337506e77e152469baae4ff1d59413277b0954b3fe0f39cbfb 243 | - name: lex 244 | buildsystem: simple 245 | build-commands: 246 | - NOCONFIGURE=1 sh autogen.sh 247 | - ./configure 248 | - make -j $FLATPAK_BUILDER_N_JOBS 249 | - install -D src/flex $FLATPAK_DEST/bin/lex 250 | sources: 251 | - type: archive 252 | url: https://github.com/linuxhw/build-stuff/releases/download/1.4/flex-20181004.tar.gz 253 | sha256: bd7d248de7792dd2de2089a16b7ea60f94b2056e721e1f0f1b28083f4792e902 254 | - name: hwinfo 255 | skip-arches: 256 | - aarch64 257 | buildsystem: simple 258 | build-commands: 259 | - echo '21.57' > VERSION 260 | - rm -f git2log 261 | - sed -i -e 's/ -g / -s /' Makefile.common 262 | - CFLAGS='-I'$FLATPAK_DEST'/include' LDFLAGS='-L'$FLATPAK_DEST'/lib64 -L'$FLATPAK_DEST'/lib -lx86emu' LD_LIBRARY_PATH=$FLATPAK_DEST'/lib64:'$FLATPAK_DEST'/lib' make 263 | - make install DESTDIR=`pwd`/INST 264 | - cp -fr INST/usr/* $FLATPAK_DEST/ 265 | sources: 266 | - type: archive 267 | url: https://github.com/openSUSE/hwinfo/archive/21.57.tar.gz 268 | sha256: ef7c716447490a594fee09ffb6fc7827e418073af6cbf48bacfc64b2428b5703 269 | - name: hwinfo 270 | only-arches: 271 | - aarch64 272 | buildsystem: simple 273 | build-commands: 274 | - echo '21.57' > VERSION 275 | - rm -f git2log 276 | - sed -i -e 's/ -g / -s /' Makefile.common 277 | - make 278 | - make install DESTDIR=`pwd`/INST 279 | - cp -fr INST/usr/* $FLATPAK_DEST/ 280 | sources: 281 | - type: archive 282 | url: https://github.com/openSUSE/hwinfo/archive/21.57.tar.gz 283 | sha256: ef7c716447490a594fee09ffb6fc7827e418073af6cbf48bacfc64b2428b5703 284 | - name: perl-uri 285 | buildsystem: simple 286 | build-commands: 287 | - perl Makefile.PL 288 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 289 | - mkdir -p $FLATPAK_DEST/share/perl5/ 290 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 291 | sources: 292 | - type: archive 293 | url: https://cpan.metacpan.org/authors/id/E/ET/ETHER/URI-1.74.tar.gz 294 | sha256: a9c254f45f89cb1dd946b689dfe433095404532a4543bdaab0b71ce0fdcdd53d 295 | - name: perl-http-message 296 | buildsystem: simple 297 | build-commands: 298 | - perl Makefile.PL 299 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 300 | - mkdir -p $FLATPAK_DEST/share/perl5/ 301 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 302 | sources: 303 | - type: archive 304 | url: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Message-6.18.tar.gz 305 | sha256: d060d170d388b694c58c14f4d13ed908a2807f0e581146cef45726641d809112 306 | - name: perl-net-http 307 | buildsystem: simple 308 | build-commands: 309 | - perl Makefile.PL 310 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 311 | - mkdir -p $FLATPAK_DEST/share/perl5/ 312 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 313 | sources: 314 | - type: archive 315 | url: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/Net-HTTP-6.18.tar.gz 316 | sha256: 7e42df2db7adce3e0eb4f78b88c450f453f5380f120fd5411232e03374ba951c 317 | - name: perl-try-tiny 318 | buildsystem: simple 319 | build-commands: 320 | - perl Makefile.PL 321 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 322 | - mkdir -p $FLATPAK_DEST/share/perl5/ 323 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 324 | sources: 325 | - type: archive 326 | url: https://cpan.metacpan.org/authors/id/E/ET/ETHER/Try-Tiny-0.30.tar.gz 327 | sha256: da5bd0d5c903519bbf10bb9ba0cb7bcac0563882bcfe4503aee3fb143eddef6b 328 | - name: perl-lwp-mediatypes 329 | buildsystem: simple 330 | build-commands: 331 | - perl Makefile.PL 332 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 333 | - mkdir -p $FLATPAK_DEST/share/perl5/ 334 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 335 | sources: 336 | - type: archive 337 | url: https://cpan.metacpan.org/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz 338 | sha256: 18790b0cc5f0a51468495c3847b16738f785a2d460403595001e0b932e5db676 339 | - name: perl-http-date 340 | buildsystem: simple 341 | build-commands: 342 | - perl Makefile.PL 343 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 344 | - mkdir -p $FLATPAK_DEST/share/perl5/ 345 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 346 | sources: 347 | - type: archive 348 | url: https://cpan.metacpan.org/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz 349 | sha256: e8b9941da0f9f0c9c01068401a5e81341f0e3707d1c754f8e11f42a7e629e333 350 | - name: perl-timedate 351 | buildsystem: simple 352 | build-commands: 353 | - perl Makefile.PL 354 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 355 | - mkdir -p $FLATPAK_DEST/share/perl5/ 356 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 357 | sources: 358 | - type: archive 359 | url: https://cpan.metacpan.org/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz 360 | sha256: 75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86 361 | - name: libwww-perl 362 | buildsystem: simple 363 | build-commands: 364 | - perl Makefile.PL 365 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 366 | - mkdir -p $FLATPAK_DEST/share/perl5/ 367 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 368 | sources: 369 | - type: archive 370 | url: https://cpan.metacpan.org/authors/id/E/ET/ETHER/libwww-perl-6.35.tar.gz 371 | sha256: dda2578d7b32152c4afce834761a61d117de286c705a9f7972c7ac6032ca5953 372 | - name: perl-parent 373 | buildsystem: simple 374 | build-commands: 375 | - perl Makefile.PL 376 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 377 | - mkdir -p $FLATPAK_DEST/share/perl5/ 378 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 379 | sources: 380 | - type: archive 381 | url: https://cpan.metacpan.org/authors/id/C/CO/CORION/parent-0.237.tar.gz 382 | sha256: 1089d9648565c1d1e655fa4cb603272d3126747b7b5f836ffee685e27e53caae 383 | - name: perl-time-local 384 | buildsystem: simple 385 | build-commands: 386 | - perl Makefile.PL 387 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 388 | - mkdir -p $FLATPAK_DEST/share/perl5/ 389 | - cp -fr ./INST/SITELIB/* $FLATPAK_DEST/share/perl5/ 390 | sources: 391 | - type: archive 392 | url: https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Time-Local-1.28.tar.gz 393 | sha256: 9278b9e5cc99dcbb0fd27a43e914828b59685601edae082889b5ee7266afe10e 394 | - name: perl-data-dumper 395 | buildsystem: simple 396 | build-commands: 397 | - perl Makefile.PL 398 | - make install DESTDIR=`pwd`/INST INSTALLSITELIB=/SITELIB 399 | - chmod 777 -R ./INST 400 | - find ./INST -type f | perl -lne 'print if -B and -x' | xargs strip 401 | - mkdir -p $FLATPAK_DEST/share/perl5/ 402 | - cp -fr ./INST/usr/lib/perl5/*/* $FLATPAK_DEST/share/perl5/ 403 | sources: 404 | - type: archive 405 | url: https://cpan.metacpan.org/authors/id/S/SM/SMUELLER/Data-Dumper-2.161.tar.gz 406 | sha256: 3aa4ac1b042b3880438165fb2b2139d377564a8e9928ffe689ede5304ee90558 407 | - name: hw-probe 408 | buildsystem: simple 409 | build-commands: 410 | - make install DESTDIR=$FLATPAK_DEST prefix=/ 411 | - mv $FLATPAK_DEST/bin/hw-probe $FLATPAK_DEST/bin/hw-probe-flatpak 412 | - install -m 777 -D flatpak/hw-probe.sh $FLATPAK_DEST/bin/hw-probe 413 | - install -D flatpak/PERL5_BASE $FLATPAK_DEST/share/PERL5_BASE 414 | - install -D flatpak/hw-probe.appdata.xml $FLATPAK_DEST/share/metainfo/org.linux_hardware.hw-probe.appdata.xml 415 | - install -D flatpak/icon-256x256.png $FLATPAK_DEST/share/icons/hicolor/256x256/apps/org.linux_hardware.hw-probe.png 416 | - install -D flatpak/icon-128x128.png $FLATPAK_DEST/share/icons/hicolor/128x128/apps/org.linux_hardware.hw-probe.png 417 | - install -D flatpak/icon-64x64.png $FLATPAK_DEST/share/icons/hicolor/64x64/apps/org.linux_hardware.hw-probe.png 418 | - install -D flatpak/hw-probe.desktop $FLATPAK_DEST/share/applications/org.linux_hardware.hw-probe.desktop 419 | - install -D flatpak/usb.ids $FLATPAK_DEST/share/usb.ids 420 | - install -D flatpak/pci.ids $FLATPAK_DEST/share/pci.ids 421 | sources: 422 | - type: archive 423 | url: https://github.com/linuxhw/build-stuff/releases/download/1.4/hw-probe-1.4-AI.tar.gz 424 | sha256: 50dff85abd6f647ae5916bae672db7db14e195cc62fb4dc9b3d126cd44ba7b37 425 | - name: perl-base 426 | buildsystem: simple 427 | build-commands: 428 | - sh Configure -de -Dprefix=/ 429 | - make -j $FLATPAK_BUILDER_N_JOBS 430 | - find . -type f | perl -lne 'print if -B and -x' | xargs strip 431 | - install -D ./perl $FLATPAK_DEST/bin/perl 432 | - cd lib && cat $FLATPAK_DEST/share/PERL5_BASE | while read i; do mkdir -p $FLATPAK_DEST/share/perl5/`dirname $i`; cp -fr $i $FLATPAK_DEST/share/perl5/$i; done 433 | sources: 434 | - type: archive 435 | url: https://www.cpan.org/src/5.0/perl-5.28.0.tar.gz 436 | sha256: 7e929f64d4cb0e9d1159d4a59fc89394e27fa1f7004d0836ca0d514685406ea8 437 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 2.1, February 1999 3 | 4 | Copyright (C) 1991, 1999 Free Software Foundation, Inc. 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | [This is the first released version of the Lesser GPL. It also counts 10 | as the successor of the GNU Library Public License, version 2, hence 11 | the version number 2.1.] 12 | 13 | Preamble 14 | 15 | The licenses for most software are designed to take away your 16 | freedom to share and change it. By contrast, the GNU General Public 17 | Licenses are intended to guarantee your freedom to share and change 18 | free software--to make sure the software is free for all its users. 19 | 20 | This license, the Lesser General Public License, applies to some 21 | specially designated software packages--typically libraries--of the 22 | Free Software Foundation and other authors who decide to use it. You 23 | can use it too, but we suggest you first think carefully about whether 24 | this license or the ordinary General Public License is the better 25 | strategy to use in any particular case, based on the explanations below. 26 | 27 | When we speak of free software, we are referring to freedom of use, 28 | not price. Our General Public Licenses are designed to make sure that 29 | you have the freedom to distribute copies of free software (and charge 30 | for this service if you wish); that you receive source code or can get 31 | it if you want it; that you can change the software and use pieces of 32 | it in new free programs; and that you are informed that you can do 33 | these things. 34 | 35 | To protect your rights, we need to make restrictions that forbid 36 | distributors to deny you these rights or to ask you to surrender these 37 | rights. These restrictions translate to certain responsibilities for 38 | you if you distribute copies of the library or if you modify it. 39 | 40 | For example, if you distribute copies of the library, whether gratis 41 | or for a fee, you must give the recipients all the rights that we gave 42 | you. You must make sure that they, too, receive or can get the source 43 | code. If you link other code with the library, you must provide 44 | complete object files to the recipients, so that they can relink them 45 | with the library after making changes to the library and recompiling 46 | it. And you must show them these terms so they know their rights. 47 | 48 | We protect your rights with a two-step method: (1) we copyright the 49 | library, and (2) we offer you this license, which gives you legal 50 | permission to copy, distribute and/or modify the library. 51 | 52 | To protect each distributor, we want to make it very clear that 53 | there is no warranty for the free library. Also, if the library is 54 | modified by someone else and passed on, the recipients should know 55 | that what they have is not the original version, so that the original 56 | author's reputation will not be affected by problems that might be 57 | introduced by others. 58 | 59 | Finally, software patents pose a constant threat to the existence of 60 | any free program. We wish to make sure that a company cannot 61 | effectively restrict the users of a free program by obtaining a 62 | restrictive license from a patent holder. Therefore, we insist that 63 | any patent license obtained for a version of the library must be 64 | consistent with the full freedom of use specified in this license. 65 | 66 | Most GNU software, including some libraries, is covered by the 67 | ordinary GNU General Public License. This license, the GNU Lesser 68 | General Public License, applies to certain designated libraries, and 69 | is quite different from the ordinary General Public License. We use 70 | this license for certain libraries in order to permit linking those 71 | libraries into non-free programs. 72 | 73 | When a program is linked with a library, whether statically or using 74 | a shared library, the combination of the two is legally speaking a 75 | combined work, a derivative of the original library. The ordinary 76 | General Public License therefore permits such linking only if the 77 | entire combination fits its criteria of freedom. The Lesser General 78 | Public License permits more lax criteria for linking other code with 79 | the library. 80 | 81 | We call this license the "Lesser" General Public License because it 82 | does Less to protect the user's freedom than the ordinary General 83 | Public License. It also provides other free software developers Less 84 | of an advantage over competing non-free programs. These disadvantages 85 | are the reason we use the ordinary General Public License for many 86 | libraries. However, the Lesser license provides advantages in certain 87 | special circumstances. 88 | 89 | For example, on rare occasions, there may be a special need to 90 | encourage the widest possible use of a certain library, so that it becomes 91 | a de-facto standard. To achieve this, non-free programs must be 92 | allowed to use the library. A more frequent case is that a free 93 | library does the same job as widely used non-free libraries. In this 94 | case, there is little to gain by limiting the free library to free 95 | software only, so we use the Lesser General Public License. 96 | 97 | In other cases, permission to use a particular library in non-free 98 | programs enables a greater number of people to use a large body of 99 | free software. For example, permission to use the GNU C Library in 100 | non-free programs enables many more people to use the whole GNU 101 | operating system, as well as its variant, the GNU/Linux operating 102 | system. 103 | 104 | Although the Lesser General Public License is Less protective of the 105 | users' freedom, it does ensure that the user of a program that is 106 | linked with the Library has the freedom and the wherewithal to run 107 | that program using a modified version of the Library. 108 | 109 | The precise terms and conditions for copying, distribution and 110 | modification follow. Pay close attention to the difference between a 111 | "work based on the library" and a "work that uses the library". The 112 | former contains code derived from the library, whereas the latter must 113 | be combined with the library in order to run. 114 | 115 | GNU LESSER GENERAL PUBLIC LICENSE 116 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 117 | 118 | 0. This License Agreement applies to any software library or other 119 | program which contains a notice placed by the copyright holder or 120 | other authorized party saying it may be distributed under the terms of 121 | this Lesser General Public License (also called "this License"). 122 | Each licensee is addressed as "you". 123 | 124 | A "library" means a collection of software functions and/or data 125 | prepared so as to be conveniently linked with application programs 126 | (which use some of those functions and data) to form executables. 127 | 128 | The "Library", below, refers to any such software library or work 129 | which has been distributed under these terms. A "work based on the 130 | Library" means either the Library or any derivative work under 131 | copyright law: that is to say, a work containing the Library or a 132 | portion of it, either verbatim or with modifications and/or translated 133 | straightforwardly into another language. (Hereinafter, translation is 134 | included without limitation in the term "modification".) 135 | 136 | "Source code" for a work means the preferred form of the work for 137 | making modifications to it. For a library, complete source code means 138 | all the source code for all modules it contains, plus any associated 139 | interface definition files, plus the scripts used to control compilation 140 | and installation of the library. 141 | 142 | Activities other than copying, distribution and modification are not 143 | covered by this License; they are outside its scope. The act of 144 | running a program using the Library is not restricted, and output from 145 | such a program is covered only if its contents constitute a work based 146 | on the Library (independent of the use of the Library in a tool for 147 | writing it). Whether that is true depends on what the Library does 148 | and what the program that uses the Library does. 149 | 150 | 1. You may copy and distribute verbatim copies of the Library's 151 | complete source code as you receive it, in any medium, provided that 152 | you conspicuously and appropriately publish on each copy an 153 | appropriate copyright notice and disclaimer of warranty; keep intact 154 | all the notices that refer to this License and to the absence of any 155 | warranty; and distribute a copy of this License along with the 156 | Library. 157 | 158 | You may charge a fee for the physical act of transferring a copy, 159 | and you may at your option offer warranty protection in exchange for a 160 | fee. 161 | 162 | 2. You may modify your copy or copies of the Library or any portion 163 | of it, thus forming a work based on the Library, and copy and 164 | distribute such modifications or work under the terms of Section 1 165 | above, provided that you also meet all of these conditions: 166 | 167 | a) The modified work must itself be a software library. 168 | 169 | b) You must cause the files modified to carry prominent notices 170 | stating that you changed the files and the date of any change. 171 | 172 | c) You must cause the whole of the work to be licensed at no 173 | charge to all third parties under the terms of this License. 174 | 175 | d) If a facility in the modified Library refers to a function or a 176 | table of data to be supplied by an application program that uses 177 | the facility, other than as an argument passed when the facility 178 | is invoked, then you must make a good faith effort to ensure that, 179 | in the event an application does not supply such function or 180 | table, the facility still operates, and performs whatever part of 181 | its purpose remains meaningful. 182 | 183 | (For example, a function in a library to compute square roots has 184 | a purpose that is entirely well-defined independent of the 185 | application. Therefore, Subsection 2d requires that any 186 | application-supplied function or table used by this function must 187 | be optional: if the application does not supply it, the square 188 | root function must still compute square roots.) 189 | 190 | These requirements apply to the modified work as a whole. If 191 | identifiable sections of that work are not derived from the Library, 192 | and can be reasonably considered independent and separate works in 193 | themselves, then this License, and its terms, do not apply to those 194 | sections when you distribute them as separate works. But when you 195 | distribute the same sections as part of a whole which is a work based 196 | on the Library, the distribution of the whole must be on the terms of 197 | this License, whose permissions for other licensees extend to the 198 | entire whole, and thus to each and every part regardless of who wrote 199 | it. 200 | 201 | Thus, it is not the intent of this section to claim rights or contest 202 | your rights to work written entirely by you; rather, the intent is to 203 | exercise the right to control the distribution of derivative or 204 | collective works based on the Library. 205 | 206 | In addition, mere aggregation of another work not based on the Library 207 | with the Library (or with a work based on the Library) on a volume of 208 | a storage or distribution medium does not bring the other work under 209 | the scope of this License. 210 | 211 | 3. You may opt to apply the terms of the ordinary GNU General Public 212 | License instead of this License to a given copy of the Library. To do 213 | this, you must alter all the notices that refer to this License, so 214 | that they refer to the ordinary GNU General Public License, version 2, 215 | instead of to this License. (If a newer version than version 2 of the 216 | ordinary GNU General Public License has appeared, then you can specify 217 | that version instead if you wish.) Do not make any other change in 218 | these notices. 219 | 220 | Once this change is made in a given copy, it is irreversible for 221 | that copy, so the ordinary GNU General Public License applies to all 222 | subsequent copies and derivative works made from that copy. 223 | 224 | This option is useful when you wish to copy part of the code of 225 | the Library into a program that is not a library. 226 | 227 | 4. You may copy and distribute the Library (or a portion or 228 | derivative of it, under Section 2) in object code or executable form 229 | under the terms of Sections 1 and 2 above provided that you accompany 230 | it with the complete corresponding machine-readable source code, which 231 | must be distributed under the terms of Sections 1 and 2 above on a 232 | medium customarily used for software interchange. 233 | 234 | If distribution of object code is made by offering access to copy 235 | from a designated place, then offering equivalent access to copy the 236 | source code from the same place satisfies the requirement to 237 | distribute the source code, even though third parties are not 238 | compelled to copy the source along with the object code. 239 | 240 | 5. A program that contains no derivative of any portion of the 241 | Library, but is designed to work with the Library by being compiled or 242 | linked with it, is called a "work that uses the Library". Such a 243 | work, in isolation, is not a derivative work of the Library, and 244 | therefore falls outside the scope of this License. 245 | 246 | However, linking a "work that uses the Library" with the Library 247 | creates an executable that is a derivative of the Library (because it 248 | contains portions of the Library), rather than a "work that uses the 249 | library". The executable is therefore covered by this License. 250 | Section 6 states terms for distribution of such executables. 251 | 252 | When a "work that uses the Library" uses material from a header file 253 | that is part of the Library, the object code for the work may be a 254 | derivative work of the Library even though the source code is not. 255 | Whether this is true is especially significant if the work can be 256 | linked without the Library, or if the work is itself a library. The 257 | threshold for this to be true is not precisely defined by law. 258 | 259 | If such an object file uses only numerical parameters, data 260 | structure layouts and accessors, and small macros and small inline 261 | functions (ten lines or less in length), then the use of the object 262 | file is unrestricted, regardless of whether it is legally a derivative 263 | work. (Executables containing this object code plus portions of the 264 | Library will still fall under Section 6.) 265 | 266 | Otherwise, if the work is a derivative of the Library, you may 267 | distribute the object code for the work under the terms of Section 6. 268 | Any executables containing that work also fall under Section 6, 269 | whether or not they are linked directly with the Library itself. 270 | 271 | 6. As an exception to the Sections above, you may also combine or 272 | link a "work that uses the Library" with the Library to produce a 273 | work containing portions of the Library, and distribute that work 274 | under terms of your choice, provided that the terms permit 275 | modification of the work for the customer's own use and reverse 276 | engineering for debugging such modifications. 277 | 278 | You must give prominent notice with each copy of the work that the 279 | Library is used in it and that the Library and its use are covered by 280 | this License. You must supply a copy of this License. If the work 281 | during execution displays copyright notices, you must include the 282 | copyright notice for the Library among them, as well as a reference 283 | directing the user to the copy of this License. Also, you must do one 284 | of these things: 285 | 286 | a) Accompany the work with the complete corresponding 287 | machine-readable source code for the Library including whatever 288 | changes were used in the work (which must be distributed under 289 | Sections 1 and 2 above); and, if the work is an executable linked 290 | with the Library, with the complete machine-readable "work that 291 | uses the Library", as object code and/or source code, so that the 292 | user can modify the Library and then relink to produce a modified 293 | executable containing the modified Library. (It is understood 294 | that the user who changes the contents of definitions files in the 295 | Library will not necessarily be able to recompile the application 296 | to use the modified definitions.) 297 | 298 | b) Use a suitable shared library mechanism for linking with the 299 | Library. A suitable mechanism is one that (1) uses at run time a 300 | copy of the library already present on the user's computer system, 301 | rather than copying library functions into the executable, and (2) 302 | will operate properly with a modified version of the library, if 303 | the user installs one, as long as the modified version is 304 | interface-compatible with the version that the work was made with. 305 | 306 | c) Accompany the work with a written offer, valid for at 307 | least three years, to give the same user the materials 308 | specified in Subsection 6a, above, for a charge no more 309 | than the cost of performing this distribution. 310 | 311 | d) If distribution of the work is made by offering access to copy 312 | from a designated place, offer equivalent access to copy the above 313 | specified materials from the same place. 314 | 315 | e) Verify that the user has already received a copy of these 316 | materials or that you have already sent this user a copy. 317 | 318 | For an executable, the required form of the "work that uses the 319 | Library" must include any data and utility programs needed for 320 | reproducing the executable from it. However, as a special exception, 321 | the materials to be distributed need not include anything that is 322 | normally distributed (in either source or binary form) with the major 323 | components (compiler, kernel, and so on) of the operating system on 324 | which the executable runs, unless that component itself accompanies 325 | the executable. 326 | 327 | It may happen that this requirement contradicts the license 328 | restrictions of other proprietary libraries that do not normally 329 | accompany the operating system. Such a contradiction means you cannot 330 | use both them and the Library together in an executable that you 331 | distribute. 332 | 333 | 7. You may place library facilities that are a work based on the 334 | Library side-by-side in a single library together with other library 335 | facilities not covered by this License, and distribute such a combined 336 | library, provided that the separate distribution of the work based on 337 | the Library and of the other library facilities is otherwise 338 | permitted, and provided that you do these two things: 339 | 340 | a) Accompany the combined library with a copy of the same work 341 | based on the Library, uncombined with any other library 342 | facilities. This must be distributed under the terms of the 343 | Sections above. 344 | 345 | b) Give prominent notice with the combined library of the fact 346 | that part of it is a work based on the Library, and explaining 347 | where to find the accompanying uncombined form of the same work. 348 | 349 | 8. You may not copy, modify, sublicense, link with, or distribute 350 | the Library except as expressly provided under this License. Any 351 | attempt otherwise to copy, modify, sublicense, link with, or 352 | distribute the Library is void, and will automatically terminate your 353 | rights under this License. However, parties who have received copies, 354 | or rights, from you under this License will not have their licenses 355 | terminated so long as such parties remain in full compliance. 356 | 357 | 9. You are not required to accept this License, since you have not 358 | signed it. However, nothing else grants you permission to modify or 359 | distribute the Library or its derivative works. These actions are 360 | prohibited by law if you do not accept this License. Therefore, by 361 | modifying or distributing the Library (or any work based on the 362 | Library), you indicate your acceptance of this License to do so, and 363 | all its terms and conditions for copying, distributing or modifying 364 | the Library or works based on it. 365 | 366 | 10. Each time you redistribute the Library (or any work based on the 367 | Library), the recipient automatically receives a license from the 368 | original licensor to copy, distribute, link with or modify the Library 369 | subject to these terms and conditions. You may not impose any further 370 | restrictions on the recipients' exercise of the rights granted herein. 371 | You are not responsible for enforcing compliance by third parties with 372 | this License. 373 | 374 | 11. If, as a consequence of a court judgment or allegation of patent 375 | infringement or for any other reason (not limited to patent issues), 376 | conditions are imposed on you (whether by court order, agreement or 377 | otherwise) that contradict the conditions of this License, they do not 378 | excuse you from the conditions of this License. If you cannot 379 | distribute so as to satisfy simultaneously your obligations under this 380 | License and any other pertinent obligations, then as a consequence you 381 | may not distribute the Library at all. For example, if a patent 382 | license would not permit royalty-free redistribution of the Library by 383 | all those who receive copies directly or indirectly through you, then 384 | the only way you could satisfy both it and this License would be to 385 | refrain entirely from distribution of the Library. 386 | 387 | If any portion of this section is held invalid or unenforceable under any 388 | particular circumstance, the balance of the section is intended to apply, 389 | and the section as a whole is intended to apply in other circumstances. 390 | 391 | It is not the purpose of this section to induce you to infringe any 392 | patents or other property right claims or to contest validity of any 393 | such claims; this section has the sole purpose of protecting the 394 | integrity of the free software distribution system which is 395 | implemented by public license practices. Many people have made 396 | generous contributions to the wide range of software distributed 397 | through that system in reliance on consistent application of that 398 | system; it is up to the author/donor to decide if he or she is willing 399 | to distribute software through any other system and a licensee cannot 400 | impose that choice. 401 | 402 | This section is intended to make thoroughly clear what is believed to 403 | be a consequence of the rest of this License. 404 | 405 | 12. If the distribution and/or use of the Library is restricted in 406 | certain countries either by patents or by copyrighted interfaces, the 407 | original copyright holder who places the Library under this License may add 408 | an explicit geographical distribution limitation excluding those countries, 409 | so that distribution is permitted only in or among countries not thus 410 | excluded. In such case, this License incorporates the limitation as if 411 | written in the body of this License. 412 | 413 | 13. The Free Software Foundation may publish revised and/or new 414 | versions of the Lesser General Public License from time to time. 415 | Such new versions will be similar in spirit to the present version, 416 | but may differ in detail to address new problems or concerns. 417 | 418 | Each version is given a distinguishing version number. If the Library 419 | specifies a version number of this License which applies to it and 420 | "any later version", you have the option of following the terms and 421 | conditions either of that version or of any later version published by 422 | the Free Software Foundation. If the Library does not specify a 423 | license version number, you may choose any version ever published by 424 | the Free Software Foundation. 425 | 426 | 14. If you wish to incorporate parts of the Library into other free 427 | programs whose distribution conditions are incompatible with these, 428 | write to the author to ask for permission. For software which is 429 | copyrighted by the Free Software Foundation, write to the Free 430 | Software Foundation; we sometimes make exceptions for this. Our 431 | decision will be guided by the two goals of preserving the free status 432 | of all derivatives of our free software and of promoting the sharing 433 | and reuse of software generally. 434 | 435 | NO WARRANTY 436 | 437 | 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 438 | WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. 439 | EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR 440 | OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY 441 | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE 442 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 443 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 444 | LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME 445 | THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 446 | 447 | 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN 448 | WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY 449 | AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU 450 | FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR 451 | CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE 452 | LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING 453 | RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A 454 | FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF 455 | SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 456 | DAMAGES. 457 | 458 | END OF TERMS AND CONDITIONS 459 | 460 | How to Apply These Terms to Your New Libraries 461 | 462 | If you develop a new library, and you want it to be of the greatest 463 | possible use to the public, we recommend making it free software that 464 | everyone can redistribute and change. You can do so by permitting 465 | redistribution under these terms (or, alternatively, under the terms of the 466 | ordinary General Public License). 467 | 468 | To apply these terms, attach the following notices to the library. It is 469 | safest to attach them to the start of each source file to most effectively 470 | convey the exclusion of warranty; and each file should have at least the 471 | "copyright" line and a pointer to where the full notice is found. 472 | 473 | 474 | Copyright (C) 475 | 476 | This library is free software; you can redistribute it and/or 477 | modify it under the terms of the GNU Lesser General Public 478 | License as published by the Free Software Foundation; either 479 | version 2.1 of the License, or (at your option) any later version. 480 | 481 | This library is distributed in the hope that it will be useful, 482 | but WITHOUT ANY WARRANTY; without even the implied warranty of 483 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 484 | Lesser General Public License for more details. 485 | 486 | You should have received a copy of the GNU Lesser General Public 487 | License along with this library; if not, write to the Free Software 488 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 489 | USA 490 | 491 | Also add information on how to contact you by electronic and paper mail. 492 | 493 | You should also get your employer (if you work as a programmer) or your 494 | school, if any, to sign a "copyright disclaimer" for the library, if 495 | necessary. Here is a sample; alter the names: 496 | 497 | Yoyodyne, Inc., hereby disclaims all copyright interest in the 498 | library `Frob' (a library for tweaking knobs) written by James Random 499 | Hacker. 500 | 501 | , 1 April 1990 502 | Ty Coon, President of Vice 503 | 504 | That's all there is to it! 505 | --------------------------------------------------------------------------------