summaryrefslogtreecommitdiffstats
path: root/rpm
Commit message (Collapse)AuthorAgeFilesLines
* Add a pkgconfig fileTurbo Fredriksson2014-08-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Providing a pkg-config file makes is easy for 3rd party applications to link against the libzfs libraries. It also allows the libzfs developers to modify the list of required libraries and cflags without breaking existing applications. The following example illustrates how pkg-config can be used: cc `pkg-config --cflags --libs libzfs` -o myapp myapp.c /* * myapp.c */ void main() { libzfs_handle_t *hdl; hdl = libzfs_init(); if (hdl) libzfs_fini(hdl); } Signed-off-by: Turbo Fredriksson <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes: #585
* Tag zfs-0.6.3zfs-0.6.3Brian Behlendorf2014-06-122-0/+4
| | | | | | META file and release log updated. Signed-off-by: Brian Behlendorf <[email protected]>
* Fix zfs.spec.in defaultsBrian Behlendorf2014-06-121-5/+5
| | | | | | | | | | | | | | | Commit 2ee4e7da accidentally introduced two issues which only occur when rebuilding the ZFS source rpm outside the ZFS build system. 1) The _dracutdir, _udevdir, and _udevruledir macros must be checked using the 'undefined' keyword. This was just overlooked in the patch review and does not cause a failure when using 'make pkg' because the values are provided by the make target. 2) The default _udevruledir path included a typo. Signed-off-by: Brian Behlendorf <[email protected]> Issue #2310
* Accept udev and dracut paths specified by ./configureTurbo Fredriksson2014-06-111-2/+23
| | | | | | | | | | | | | | | | | | | | | | There are two common locations where udev and dracut components are commonly installed. When building packages using the 'make rpm|deb' targets check those common locations and pass them to rpmbuild. For non-standard configurations these values can be provided by the the following configure options: --with-udevdir=DIR install udev helpers [default=check] --with-udevruledir=DIR install udev rules [[UDEVDIR/rules.d]] --with-dracutdir=DIR install dracut helpers [default=check] When rebuilding using the source packages the per-distribution default values specified in the spec file will be used. This is the preferred way to build packages for a distribution but the ability to override the defaults is provided as a convenience. Signed-off-by: Turbo Fredriksson <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #2310 Closes #1680
* Accept kernel source dir(s) specified by ./configureTurbo Fredriksson2014-06-051-12/+31
| | | | | | | | | | This adds ability to set the location of the kernel via defines when building from the spec files. This is useful when building against a kernel installed in a non-standard location. Signed-off-by: Turbo Fredriksson <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #1874
* Update spec file to enable systemd for RHEL7Ben Allen2014-06-051-0/+5
| | | | | | Signed-off-by: Ben Allen <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #2355
* Move the libraries into separate packagesTurbo Fredriksson2014-06-021-10/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From day one the various ZFS libraries should have been placed in their own sub-packages. Primarily this allows for multiple major versions of the libraries to be concurrently installed. It also facilitates a smaller build environment by minimizing the required dependencies. The specific changes required to split the libraries from the utilities are as follows: * libzpool2, libnvpair1, libuutil1, and libzfs2 packages were added and contain the versioned shared libraries. The Fedora packaging guidelines discourage providing static libraries so they are not included in the packages. http://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries * The zfs-devel package was renamed libzfs2-devel and the new package obsoletes the old zfs-devel package. This package includes all the required headers for the libzpool2, libnvpair1, libuutil1, and libzfs2 libraries and their respective unversioned shared libraries. This package should eventually be split in to individual lib*-devel packages but it will still take some work to cleanly separate them. Therefore the libzfs2-devel package provides the expected lib*-devel packages so the all proper dependencies can still be created. http://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages * Moved '/sbin/ldconfig' execution from the zfs packge to each of the new library packages as described by the packaging guidelines. http://fedoraproject.org/wiki/Packaging:Guidelines#Shared_Libraries * The /usr/share/doc/ files were moved in to the libzfs2-devel package. * Updated config/deb.am to be aware of the packaging changes. This ensures that 'deb-utils' make target converts all the resulting packages generated by the 'rpm-utils' target. Signed-off-by: Turbo Fredriksson <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes: #2329 Closes: #2341 Issue: #2145
* Fix DKMS package upgrade and packagerBrian Behlendorf2014-05-301-5/+12
| | | | | | | | | | | | | | | | | | | Running 'yum upgrade zfs-dkms' package could appear to work properly and still leave you with no zfs modules installed. This will occur when only the zfs release, and not the version, are incremented. This may be the case for a fast moving zfs-testing repository. During the upgrade process DKMS will realize that zfs-x.y.z is already installed and remove it. DKMS then correctly builds the new modules for zfs-x.y.z. However, as a final step when the old zfs-x.y.z-r is removed the %preun script runs and removes the newly build modules. To handle this case the %preun script has been updated to only run when the installed version exactly matches the full spec file version. This change also updated ChangeLog section based on the DKMS reference spec file. Signed-off-by: Brian Behlendorf <[email protected]>
* Initial implementation of zed (ZFS Event Daemon)Chris Dunlap2014-04-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | zed monitors ZFS events. When a zevent is posted, zed will run any scripts that have been enabled for the corresponding zevent class. Multiple scripts may be invoked for a given zevent. The zevent nvpairs are passed to the scripts as environment variables. Events are processed synchronously by the single thread, and there is no maximum timeout for script execution. Consequently, a misbehaving script can delay (or forever block) the processing of subsequent zevents. Plans are to address this in future commits. Initial scripts have been developed to log events to syslog and send email in response to checksum/data/io errors and resilver.finish/scrub.finish events. By default, email will only be sent if the ZED_EMAIL variable is configured in zed.rc (which is serving as a config file of sorts until a proper configuration file is implemented). Signed-off-by: Chris Dunlap <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Issue #2
* Add explicit Conflicts for zfs-fuse packagesRalf Ertzinger2014-02-101-0/+4
| | | | | | | | | | | | zfs-fuse provides the same commands and man page names as ZoL. Changing the names on either side would make each incompatible with all existing documentation about ZFS. Providing bit identical files is not possible due to differing codebases. Signed-off-by: Richard Yao <[email protected]> Signed-off-by: Turbo Fredriksson <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #1866
* Add systemd unit files for ZFS startupRalf Ertzinger2014-02-051-2/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds systemd unit files replacing the functionality offered by the SysV init script found in etc/init.d. It has been developed and tested on Fedora 19, Fedora 20 and openSuSE 13.1. Four unit files and one target are offered. zfs-import-cache.service: Import pools from /etc/zfs/zpool.cache. This unit will wait for udev to settle. zfs-import-scan.service: Import pools by scanning /dev/disk/by-id for zvols. This unit will only run if /etc/zfs/zpool.cache is not present. This unit will wait for udev to settle zfs-mount.service: Mount ZFS native filesystems. It contains a dependency to be loaded before local-fs.target. zfs-share.service: Share NFS/SMB filesystems. This unit contains a dependency that will cause it to be restarted whenever the smb or nfs-server unit is restarted, restoring the shares added. zfs.target: This target pulls in the other units in order to start ZFS. It's the only unit that can be enabled/disabled, all other services are static and pulled in by dependencies. It will honour zfs=off and zfs=no options on the kernel command line. Signed-off-by: Brian Behlendorf <[email protected]> Closes #2108
* Add full SELinux supportMatthew Thode2013-12-191-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Four new dataset properties have been added to support SELinux. They are 'context', 'fscontext', 'defcontext' and 'rootcontext' which map directly to the context options described in mount(8). When one of these properties is set to something other than 'none'. That string will be passed verbatim as a mount option for the given context when the filesystem is mounted. For example, if you wanted the rootcontext for a filesystem to be set to 'system_u:object_r:fs_t' you would set the property as follows: $ zfs set rootcontext="system_u:object_r:fs_t" storage-pool/media This will ensure the filesystem is automatically mounted with that rootcontext. It is equivalent to manually specifying the rootcontext with the -o option like this: $ zfs mount -o rootcontext=system_u:object_r:fs_t storage-pool/media By default all four contexts are set to 'none'. Further information on SELinux contexts is detailed in mount(8) and selinux(8) man pages. Signed-off-by: Matthew Thode <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Signed-off-by: Richard Yao <[email protected]> Closes #1504
* Cause zfs.spec to place dracut files properlyAaron Fineman2013-12-181-1/+1
| | | | | | | | | This is an extension of commit ffb2111. As the fedora conditional has been added, this allows centos/rhel-6 to fall back to the proper directory (/usr/share/dracut) Signed-off-by: Brian Behlendorf <[email protected]> Closes #1984
* Change zfs-dkms requirementTrey Dockendorf2013-11-211-5/+1
| | | | | | | | | | | | | Version 2.2.0.3-20 of dkms in the EPEL/Fedora repositories added the necessary patches to support ZoL, Therefore, the zfs-dkms requirement on dkms is set to match that version or higher. This allows us to drop the custom dkms build in the ZoL EPEL/Fedora repositories. References: https://bugzilla.redhat.com/show_bug.cgi?id=1023598 Signed-off-by: Brian Behlendorf <[email protected]> Closes #1873
* Tighten zfs dependency on zfs-kmodCyril Plisko2013-11-141-1/+1
| | | | | | | | | | Make zfs depend on the same version of zfs-kmod, rather than on same or better. When yum repository contains a number of versions the dependency resolution breaks on trying to install non-latest version. Signed-off-by: Cyril Plisko <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #1677
* Fix libzfs_core changes to follow GNU libtool guidelinesRichard Yao2013-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | The GNU libtool documentation states to start with a version of 0:0:0, rather than 1:1:0. Illumos uses the name libzfs_core.so.1, so to be consistent, we should go with 1:0:0. http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info The GNU libtool documentation also provides guidence on how the version information should be incremented. Doing this does a SONAME bump of the libzfs and libzpool libraries. This is particularly important on Gentoo because a SONAME bump enables portage to retain the older libraries until any packages that link to them are rebuilt. The main example of this is GRUB2's grub2-mkconfig, which will break unless it is rebuilt against the new libraries. Signed-off-by: Richard Yao <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Issue #1751
* Tag zfs-0.6.2zfs-0.6.2Brian Behlendorf2013-08-223-0/+6
| | | | | | META file and release log updated. Signed-off-by: Brian Behlendorf <[email protected]>
* Add kmod repo integrationBrian Behlendorf2013-08-012-150/+28
| | | | | | | | | | | | | | | | | | When the kmod packaging infrastructure was originally added the dependency on the rpmfusion yum repositories was disabled. This was done at the time in favour of getting local builds working. Now the time has come to conditionally re-enable that functionality so we can properly provide binary kmod packages. ./configure --with-config=srpm make SRPM_DEFINE_KMOD='--define="repo rpmfusion"' srpm-kmod mock rebuild zfs-kmod-x.y.z-r.el6.src.rpm One nice benefit of finishing this work is that the generic and fedora spl-kmod spec files can be merged again. Signed-off-by: Brian Behlendorf <[email protected]>
* Add dkms_version conditionalBrian Behlendorf2013-07-111-0/+4
| | | | | | | | | | | By adding a dkms_version conditional it's now possible to specify an exact version of dkms. This is used by the Fedora and EPEL yum repositories to ensure the patched version of dkms provided by the repository is installed. The patched version of dkms ensures that the spl modules are built before the zfs modules. Signed-off-by: Brian Behlendorf <[email protected]> Closes #1466
* Add conditional chkconfig to packagingBrian Behlendorf2013-07-031-0/+2
| | | | | | | | | Unconditionally exit with zero to avoid returning failures from the scriptlets. This should have been part of the previous ba661a6 commit. Signed-off-by: Brian Behlendorf <[email protected]> Closes #1376
* Add conditional chkconfig to packagingBrian Behlendorf2013-07-031-1/+8
| | | | | | | | | | | Prior to adopting the kmod style packaging the zfs packages would conditionally invoke /sbin/chkconfig to create the proper links for the init script. This is done conditionally because many distributions are moving away from SysV style init scripts and we don't want to cause errors on those. Signed-off-by: Brian Behlendorf <[email protected]> Closes #1376
* Remove zfs-dracut and zfs-test dependenciesBrian Behlendorf2013-07-031-2/+0
| | | | | | | | | | Remove from the zfs package the depenencies on the zfs-dracut and zfs-test subpackages. Neither of these packages are required for normal operation and they bring in many unnecessary dependencies during installation. Signed-off-by: Brian Behlendorf <[email protected]> Closes #1395
* Make spl directory setable when building rpms and add --buildrootNathaniel Clark2013-06-212-8/+52
| | | | | | | | | | This adds ability to set the location of spl via defines when building from the spec files. This is useful for build systems that build spl and zfs together without installing the actual rpms. Signed-off-by: Nathaniel Clark <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #1486
* Modified arcstat.py to run on linuxChrist Schlacta2013-06-181-0/+1
| | | | | | | | | * Modified kstat_update() to read arcstats from proc. * Fix shebang. * Added Makefile.am entries for arcstat.py Signed-off-by: Brian Behlendorf <[email protected]> Closes #1506
* Fix various generic kmod RPM spec issues.Etienne Dechamps2013-04-241-6/+6
| | | | | | | | | | | | | | | | | | | There are a number of issues with the generic kmod RPM spec in its current state: - The "%{__id_u}" macro seems to not be available on some systems (e.g. Debian squeeze). It appears it has been deprecated. Use "${__id} -u" instead. - The way the "--with-linux=" configure option is generated in the non-RHEL/Fedora case is completely wrong with various newline and escaping issues (also, $kernel_version is not available in the generator context). The second issue made the generator shell snippet (almost) silently fail, which under specific circumstances can result in broken builds against the wrong kernel sources. Signed-off-by: Brian Behlendorf <[email protected]> Closes #1416
* Add additional dependencies for DKMS packageBrian Behlendorf2013-04-021-0/+2
| | | | | | | | | | For the DKMS package to successfully build the kernel-devel headers must be included along gcc, make, and perl. The ZFS code never directly invokes perl but the kernel build system depends on it. Signed-off-by: Brian Behlendorf <[email protected]> Closes #1380
* Only require spl-devel-kmod = %{version}Brian Behlendorf2013-04-021-1/+1
| | | | | | | | | | | | | Commit f6fb7651a0d05b357dc179cc4853263ce15da6ed introduced the idea of working builds which work correctly. However, because the zfs-kmod depends on a specific 'spl-devel-kmod = {version}-%{release}' package and the release component is unique the dependency is never satisfied. This requires line was introduced to ensure the correct version of the spl is always used. In this context only the version number is required so the release component has been dropped to satisfy the dependency. Signed-off-by: Brian Behlendorf <[email protected]>
* Tag zfs-0.6.1zfs-0.6.1Brian Behlendorf2013-03-264-9/+8
| | | | | | META file and release log updated. Signed-off-by: Brian Behlendorf <[email protected]>
* Include init scripts in packagesBrian Behlendorf2013-03-261-2/+1
| | | | | | | | | | The distribution specific init scripts where excluded from the packaging when it was reworked. The intention is to replace them with systemd equivilants. However, that work has not yet been done and the init scripts are still useful so they have been added back in to the packaging. Signed-off-by: Brian Behlendorf <[email protected]>
* Provide ${kmodname}-devel-kmod for yum-builddepBrian Behlendorf2013-03-252-2/+4
| | | | | | | | | | | | | | In order to ensure that yum-builddep pulls in all the build requirements a generic ${kmodname}-devel-kmod provides line is added. This allows a version of the development headers to be included without requiring knowledge of the kernel version. This is important because unlike rpmbuild which does correctly expand the source rpm spec file, yum-builddep does not. Without this generic provides line mock which relies on yum-builddep is unable to automatically satisfy the dependency. Signed-off-by: Brian Behlendorf <[email protected]>
* Remove zfs-dkms conflict with zfs-kmodBrian Behlendorf2013-03-211-1/+0
| | | | | | | | | | | | Because the zfs-dkms package also provides zfs-kmod for the zfs user package yum flags this as a conflict. To avoid the problem remove the Conflicts tag from zfs-dkms and just rely on the one in zfs-kmod. zfs-dkms-0.6.0-rc14.fc18.noarch has installed conflicts zfs-kmod: zfs-dkms-0.6.0-rc14.fc18.noarch Signed-off-by: Brian Behlendorf <[email protected]>
* Add missing dependenciesBrian Behlendorf2013-03-212-1/+4
| | | | | | | | | | The spl, zfs-test, and zfs-dracut packages should be pulled in by the core zfs package. This allows all the required zfs packages to be installed from a yum repository by running: yum install zfs Signed-off-by: Brian Behlendorf <[email protected]>
* Add spl-dkms dependency to zfs-dkmsBrian Behlendorf2013-03-191-0/+1
| | | | | | | | | | | | | | Adding the 'spl-dkms = VERSION' dependency to the zfs-dkms package ensures the spl will be installed before zfs. This cleanly handles the initial 'yum localinstall' case. However, this does not address the dkms rebuilds caused by a new kernel being installed. For that we still rely on the clunky --with-spl-timeout=<timeout> configure option which allows the zfs compilation to be briefly delayed while the spl components are built. Signed-off-by: Brian Behlendorf <[email protected]>
* Refresh RPM packagingBrian Behlendorf2013-03-1811-0/+472
Refresh the existing RPM packaging to conform to the 'Fedora Packaging Guidelines'. This includes adopting the kmods2 packaging standard which is used fod kmods distributed by rpmfusion for Fedora/RHEL. http://fedoraproject.org/wiki/Packaging:Guidelines http://rpmfusion.org/Packaging/KernelModules/Kmods2 While the spec files have been entirely rewritten from a user perspective the only major changes are: * The Fedora packages now have a build dependency on the rpmfusion repositories. The generic kmod packages also have a new dependency on kmodtool-1.22 but it is bundled with the source rpm so no additional packages are needed. * The kernel binary module packages have been renamed from zfs-modules-* to kmod-zfs-* as specificed by kmods2. * The is now a common kmod-zfs-devel-* package in addition to the per-kernel devel packages. The common package contains the development headers while the per-kernel package contains kernel specific build products. Signed-off-by: Brian Behlendorf <[email protected]> Closes #1341