37 Commits
Author SHA1 Message Date
Patrick McCarty 53cbb9d28d Release v1.0.11
- Use /var/tmp instead of /tmp for extracting packages.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
v1.0.11
2020-04-30 17:23:25 -07:00
Juro Bystricky ef8534413b Use /var/tmp instead of /tmp
The folder /tmp is typically 50% of installed RAM size.
This may not be enough for large packages. Use /var/tmp
instead. The performance impact is not significant.
2020-04-30 17:21:13 -07:00
Patrick McCarty 1d104caab1 Release v1.0.10
- Address an issue with `abireport version` output being out-of-sync
  with the released version.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
v1.0.10
2020-03-26 10:07:42 -07:00
Patrick McCarty 0fb1bfa0bd Do not hardcode version in version.go
Avoid updating the program version in two different places by
initializing the ABIReportVersion string in the sources via `go build`
linker option.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-03-26 00:29:21 -07:00
Patrick McCarty 62f239800b Release v1.0.9
- Fixes an issue with dist tarball generation

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
v1.0.9
2020-03-23 15:57:38 -07:00
Patrick McCarty 7ba99c68e1 Fix dist tarball generation
The tarball must only contain the one directory tree containing the
source code, not including the current directory.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-03-23 15:55:28 -07:00
Patrick McCarty 740f9a7aad Release v1.0.8
- Fixes an occasional hang with rpm extraction.
- Fixes a race condition in the file-tree walker code, which
  occasionally resulted in hangs when processing an rpm containing no
  files.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
v1.0.8
2020-03-23 15:35:05 -07:00
Patrick McCarty 5afd462e25 Ignore editor swap files
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-03-23 15:35:05 -07:00
Juro Bystricky 571b28e9c7 rpm.go: Avoid using io.Pipe
Simplify the code. There is no need to use io.Pipe
and to wait asynchronuosly for rpm2cpio to finish.

This also fixes an occasional hang observed with
the previous implementation.

Signed-off-by: Juro Bystricky <jurobystricky@hotmail.com>
2020-03-23 15:27:03 -07:00
Juro Bystricky 76c7ab74ce walker.go: fix a race condition
There were occasional hangs detected when processing
empty packages. These were the result of a race condition:

a.JobProcessor and the go function with filepath.Walk were executed
concurrently. For empty packages the go function could terminate
before a.JobProcessor loop dispatched all a.nJobs.

When filepath.Walk terminated, it closed a.JobChan.
If the channel was closed during the jobProcessor dispatch loop,
less than a.nJobs were dispatched. However, jobDone expects
to be called exactly a.nJobs times before closing a.storeChan.

The remedy is to ensure that we close a.JobChan after
jobProcessor finished.

Signed-off-by: Juro Bystricky <jurobystricky@hotmail.com>
2020-03-23 15:01:54 -07:00
Juro Bystricky 10371e5702 manpage: use pandoc instead of ronn
Creating man pages results in the following error:
   /bin/sh: ronn: command not found

As "ronn" seems to be no longer supported, generate the pages
using "pandoc"

This change necessitated a minor edit in the markdown file.

Signed-off-by: Juro Bystricky <jurobystricky@hotmail.com>
2020-03-18 11:02:52 -07:00
William Douglas 207fe959b9 Rework Makefile to use go modules 2020-03-11 15:24:11 -07:00
Patrick McCarty b17bfd294a Release v1.0.7
Switch to generating a position independent executable (PIE) for the
build.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
v1.0.7
2019-09-04 12:27:31 -07:00
Anselmo L. S. Melo 535e714f4f build: Generate position independent executable
Add buildmode=pie flag to the build.

By making binaries position independent and address randomization,
it makes it harder for those using exploits that rely on known offsets,
for example.

This also aligns with what Clear Linux has been doing since the upgrade
to gcc 9, which enables PIE by default.
2019-09-04 12:25:14 -07:00
Patrick McCarty 78bd61c936 Fix spelling of analyzeLibrary() function
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-09-11 14:34:09 -07:00
Patrick McCarty fac866c83a Release v1.0.6
Makes eopkg extraction more portable by using unzip instead of uneopkg.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
v1.0.6
2018-09-10 18:28:04 -07:00
Ikey Doherty c19e98c5ba cmd: Pass make compliant tests for invalid error string
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
2018-09-10 18:22:37 -07:00
Ikey Doherty fa3b8b522b explode/eopkg: Use a portable function to explode the eopkg
This function is much like the RPM explosion helper, by using a simple
pipe to get directly to the contents of the package. Here we simply
pipe unzip to tar xf, explicitly passing the `install.tar.xz` payload
to tar. Internally an eopkg is simply a ZIP file with a tarball payload
and some XML data, so this is always going to work.

Signed-off-by: Ikey Doherty <ikey@solus-project.com>
2018-09-10 18:22:37 -07:00
Ikey Doherty aca974ceec Bump version 1.0.5
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
v1.0.5
2017-02-21 17:39:56 +00:00
Ikey Doherty 8e650b3065 vendor: Sync cobra with upstream
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-02-21 17:37:32 +00:00
Ikey Doherty 92a5440f42 explode/rpm: Unconditionally replace files on extract
This prevents errors/warnings relating to timestamp or minor file/inode
differences that cpio would otherwise bail on.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-02-21 17:35:59 +00:00
Ikey Doherty bcdd11699d explode/rpm: Silence any stderr output from cpio
cpio likes to emit warnings to stderr, even with --quiet, about timestamp
changes in piped RPMs. This change silences it completely.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-02-21 17:34:10 +00:00
Ikey Doherty 249a76fccf Bump v1.0.4
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
v1.0.4
2017-02-07 16:45:00 +00:00
Ikey Doherty 7bd81d1c11 libabi: Don't print errors for checking headers
These errors only arise from reading EOF because the file is too small
and we read past the header. They shouldn't be emitted to the console.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-02-07 16:43:25 +00:00
Ikey Doherty 0b64196e2b explode: Operate entirely silently
This removes unnecessary/distracting text when used in other tools.
This change also fixes a minor copy/paste typo in the dpkg implementation.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-02-07 16:41:36 +00:00
Ikey Doherty e4fc19be12 Bump version to 1.0.3
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
v1.0.3
2017-02-03 16:23:29 +00:00
Ikey Doherty 1a3d11fc66 vendor: Sync with upstreams
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-02-03 16:23:03 +00:00
Ikey Doherty c1bb565867 libabi: Always ensure info is not nil
Thanks to Alex's testing within flatpak, we encountered situations whereby
a nil info was passed due to not being able to open proc FD files. In this
instance, we simply continue and ignore the files.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-01-23 08:10:45 +00:00
Ikey Doherty a797f5ba6a Bump v1.0.2
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
v1.0.2
2017-01-23 07:37:51 +00:00
Ikey Doherty 9b1c91f6b2 vendor: Sync git submodules with upstream for correct maintenance
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-01-23 07:35:53 +00:00
Ikey Doherty 77fe896c12 libabi: Ignore small files that couldn't be a proper ELF file
Before we examine an ELF file, we first check for the presence of a
valid ELF header, which is 4 bytes. To avoid unnecessarily checking files
that are empty/tiny, and spamming the console with unnecessary text, we
mandate that an interesting ELF file must be at minimum, 5 bytes in size.

While the reality is that an ELF is always going to be bigger than this,
it enforces a sane constant that doesn't break ELF detection, but does
avoid checking useless files that couldn't header match and contain
interesting content at the same time.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-01-23 07:33:17 +00:00
Ikey Doherty daa2e9dc3b Apply date-range in copyright headers
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2017-01-23 07:22:30 +00:00
Ikey Doherty 5f4fb43eb9 Bump version to v1.0.1
This is a documentation release suitable for packaging.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
v1.0.1
2016-12-14 18:53:58 +00:00
Ikey Doherty 966ecf9722 Add manpages & README documentation
Credit to the swupd developers is due for demonstrating how to easily
integrate the documentation into the build system. While this was
previously hooked up in the makefile target, this change and pending
release now adds the completed documentation to complete the install
target, making abireport now suitable for packaging.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-12-14 18:52:03 +00:00
Ikey Doherty a5829de4e8 Clarify the README lead-in
This ensures users know exactly *what* element makes this agnostic,
and to *what*.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-12-14 18:48:41 +00:00
Ikey Doherty 67de2d9b7b Integrate badges into the README
This change enhances the landing README to immediately indicate the
project license and current status per goreportcard for code hygiene.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
v1.0.0
2016-12-14 18:42:39 +00:00
Ikey Doherty 8b1ffbf971 Initial commit
Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2016-12-14 18:24:16 +00:00