Commit Graph

47 Commits

Author SHA1 Message Date
Frederik Carlier
3884bd5ee6 Properly set symlink file size 2019-12-02 17:17:20 +01:00
Frederik Carlier
5e16673570 RPM: Add support for symlinks 2019-12-02 16:01:54 +01:00
Frederik Carlier
f645ef5d15 Merge pull request #127 from qmfrederik/features/platform-dependent
Add an '-o | --output' argument
2019-11-22 15:55:50 +01:00
Bart Saint Germain
db52a7963e Use the standard home folder when creating the new user 2019-11-22 14:37:33 +01:00
Frederik Carlier
41c43f531e Fix compile-time warnings 2019-11-22 14:12:08 +01:00
Frederik Carlier
55493fe636 Allow callers to override the number of compression threads, for compat purposes. 2019-08-28 23:02:45 +02:00
Frederik Carlier
f96bf2da13 Use all threads when creating .xz files 2019-08-28 16:47:25 +02:00
Frederik Carlier
4c4998e5ef Support writing null values. 2019-04-19 14:43:43 +02:00
stop-cran
409450f19b Add vendor, description and URL to RPM metadata. 2019-02-18 18:51:46 +02:00
Frederik Carlier
c47ecd02f1 Only mark files in "/usr/share/doc" as documentation files 2018-08-31 18:58:35 +02:00
Clemens Vasters
dbf8861591 Patching pre/post install/remove scripts from RPM task to packager equivalent to DEB packaging. 2018-08-11 04:31:27 -07:00
Frederik Carlier
44ebb1d486 Don't remove entries in the prun script when the package is being upgraded. 2017-11-08 19:39:35 +01:00
Frederik Carlier
01287a96b3 Don't add empty arrays to the RPM metadata. 2017-10-13 13:42:11 +02:00
Frederik Carlier
15e3d767d2 Support dumping RPM package headers to a text file 2017-10-13 00:17:03 +02:00
Frederik Carlier
6fd0493a5b Make package creation more flexible:
- Allow faking the PGP signatures (useful for unit tests)
- Allow including the version name in RPM name in the RPM lead
- Don't populate prein/postin/preout/postout keys if no scripts are present
- Allow passing a compressed payload stream (useful for unit tests)
2017-10-13 00:17:03 +02:00
Frederik Carlier
436e8b1522 Specify an order for the Signature tags 2017-10-13 00:17:03 +02:00
Frederik Carlier
b7aae8f68f Enable StyleCop.Analyzers, fix violations 2017-10-06 23:25:58 +02:00
Frederik Carlier
3ab9efa604 Fixup 2017-10-06 22:32:17 +02:00
Frederik Carlier
07d4a06625 Initial implementation of the ar (deb) file format
Introduce a commen base class, ArchiveFile, for CPIO and ar archives.
2017-10-06 21:36:13 +02:00
Frederik Carlier
68d5376727 Support customizing the user name and service name 2017-06-24 22:04:03 +02:00
Frederik Carlier
3687b7047a Support specifying additional RPM dependencies 2017-06-24 13:48:23 +02:00
Frederik Carlier
fe9996fad4 Support pre/post installation scripts
- Add user and group
- Add systemd service
- Remove directories on uninstall
2017-06-24 01:11:26 +02:00
Frederik Carlier
b95dad0e5d Allow fine-tuning of the folder structure on Linux
- Support setting the group and owner of files
- Support adding empty directories
- Support changing the target path of files
2017-06-23 22:46:24 +02:00
Frederik Carlier
0ca32c7f3b Add the ArchiveEntry class, which allow building an abstract representation of an archive; allowing us to consume additional items (not just the files in the output directory). 2017-06-23 18:00:43 +02:00
Frederik Carlier
cb919a8bdc Fix unit tests 2017-05-12 23:22:18 +02:00
Frederik Carlier
db792eab5c RpmPayloadReader: Return list of names 2017-05-12 22:57:50 +02:00
Frederik Carlier
d357916368 Add some well-known file types 2017-05-11 22:49:20 +02:00
Frederik Carlier
edb35db845 Provide default values 2017-05-10 00:38:19 +02:00
Frederik Carlier
7dfd6290e9 Support creating CPIO files based on a directory structure 2017-05-10 00:38:08 +02:00
Frederik Carlier
c3ea3240ce Support writing RPM packages end to end. 2017-05-09 21:15:44 +02:00
Frederik Carlier
e541477002 Add support for creating the signature for a RPM package. Includes making sure we have binary compatibility for the header, as testing the signature includes making sure the hashes e.g. are compatible. 2017-05-09 00:26:32 +02:00
Frederik Carlier
9404e3ccf3 Add support for calculating the header offsets. 2017-05-07 23:44:46 +02:00
Frederik Carlier
4894262e84 Support setting all metadata properties. 2017-05-07 23:03:17 +02:00
Frederik Carlier
963ebcafc4 Make the order in which RPM dependency/provide metadata package is stored, consistent with what rpmlib does. Remove requirement to pre-code the list of dependencies. 2017-05-07 21:34:05 +02:00
Frederik Carlier
6bfffbb43a Proper dependency handling of files: include flags and version. 2017-05-07 14:22:04 +02:00
Frederik Carlier
f7a5ac6233 Implement setter for RpmMetadata.File 2017-05-06 23:15:25 +02:00
Frederik Carlier
2dae104fac Support creating a file list as embedded in a RPM package, given an CPIO archive. 2017-05-06 21:45:36 +02:00
Frederik Carlier
afc8cb3436 Strongly type the CpioHeader files 2017-05-05 21:50:31 +02:00
Frederik Carlier
e22dc5aee8 Add support for dependencies/provides, file names 2017-05-03 23:58:47 +02:00
Frederik Carlier
8c687f0474 Support reading change log entries and file information. 2017-05-03 23:58:47 +02:00
Frederik Carlier
ec7b3ea38f Preliminary support for RPM metadata. 2017-05-03 23:58:46 +02:00
Frederik Carlier
bd53136cac Support reading and verifying the data in the signature section of a RPM file 2017-05-03 23:58:46 +02:00
Frederik Carlier
4fe379fe4a Support roundtripping the headers of RPM files
Fix issues where arrays of short, int and long were not serialized correctly
Fix issues where arrays of strings were not read correctly
2017-05-03 23:58:46 +02:00
Frederik Carlier
cdeb3747ce Add missing RPM tags. Split the signature tags and header tags into two separate enums. 2017-05-03 23:58:46 +02:00
Frederik Carlier
a6fcd0e707 Support reading of RPM files and their payload 2017-05-03 23:58:46 +02:00
Frederik Carlier
86b5001a6f Add the ability to read some data from RPM packages. Useful for making sure the struct & enum declarationsare correct. 2017-05-03 23:58:45 +02:00
Frederik Carlier
434f285d1d Add structs and enums used by RPM packages 2017-05-03 23:57:39 +02:00