Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add native-deb* targets to build native Debian packages #14265

Merged
merged 1 commit into from
Dec 14, 2022

Conversation

usaleem-ix
Copy link
Contributor

Motivation and Context

In continuation of previous #13451, make targets are added to build
native Debian packages. GitHub workflows are also updated to build
and test native Debian packages.

Description

This commit adds make targets to build native Debian packages and
updates the GitHub workflows to exercise the native packages.

Native packages only build with pre-configured paths (see the
dh_auto_configure section in contrib/debian/rules.in). While building
native packages, paths should not be configured. Initial config flags
e.g. '--enable-debug' are replaced in contrib/debian/rules.in.

Additional packages on top of existing zfs packages required to build
native packages include debhelper-compat, dh-python, dkms,
po-debconf, python3-all-dev and python3-sphinx.

For release, contrib/debian/changelog should be updated with a new
entry for the release.

How Has This Been Tested?

Lots of ZTS runs via GitHub workflows and on Debian 11.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

python3-cffi
python3-dev
python3-packaging
python3-pip
python3-setuptools
python3-sphinx
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this package? IIRC we don't have anything in main repository to use Sphinx on

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a dependency mentioned in contrib/debian/control. In contrib/debian/rules.in, sphinx docs can be generated. I think that requires this package.

@@ -131,5 +131,4 @@ usr/share/man/man8/zstreamdump.8
usr/share/man/man4/spl.4
usr/share/man/man4/zfs.4
usr/share/man/man7/zpool-features.7
usr/share/man/man7/dracut.zfs.7
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it is valid man page, what's the reason not to install it?

Copy link
Contributor Author

@usaleem-ix usaleem-ix Dec 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have a separate package for dracut, i.e. openzfs-zfs-dracut . The man page is present and installed from there.

By mistake, this was included in openzfs-zfsutils package last time.

@behlendorf behlendorf added the Component: Packaging custom packages label Dec 5, 2022
In continuation of previous openzfs#13451, this commits adds native-deb*
targets for make to build native debian packages. Github workflows
are updated to build and test native Debian packages.

Native packages only build with pre-configured paths (see the
dh_auto_configure section in contrib/debian/rules.in). While
building native packages, paths should not be configured. Initial
config flags e.g. '--enable-debug' are replaced in
contrib/debian/rules.in.

Additional packages on top of existing zfs packages required to
build native packages include debhelper-compat, dh-python, dkms,
po-debconf, python3-all-dev, python3-sphinx.

Signed-off-by: Umer Saleem <[email protected]>
@behlendorf behlendorf added the Status: Accepted Ready to integrate (reviewed, tested) label Dec 9, 2022
@behlendorf behlendorf merged commit e6e31dd into openzfs:master Dec 14, 2022
@ghost ghost deleted the NAS-116639 branch December 14, 2022 14:09
usaleem-ix added a commit to truenas/zfs that referenced this pull request Dec 14, 2022
In continuation of previous openzfs#13451, this commits adds native-deb*
targets for make to build native debian packages. Github workflows
are updated to build and test native Debian packages.

Native packages only build with pre-configured paths (see the
dh_auto_configure section in contrib/debian/rules.in). While
building native packages, paths should not be configured. Initial
config flags e.g. '--enable-debug' are replaced in
contrib/debian/rules.in.

Additional packages on top of existing zfs packages required to
build native packages include debhelper-compat, dh-python, dkms,
po-debconf, python3-all-dev, python3-sphinx.

Reviewed-by: George Melikov <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Umer Saleem <[email protected]>
Closes openzfs#14265
usaleem-ix added a commit to truenas/zfs that referenced this pull request Dec 17, 2022
In continuation of previous openzfs#13451, this commits adds native-deb*
targets for make to build native debian packages. Github workflows
are updated to build and test native Debian packages.

Native packages only build with pre-configured paths (see the
dh_auto_configure section in contrib/debian/rules.in). While
building native packages, paths should not be configured. Initial
config flags e.g. '--enable-debug' are replaced in
contrib/debian/rules.in.

Additional packages on top of existing zfs packages required to
build native packages include debhelper-compat, dh-python, dkms,
po-debconf, python3-all-dev, python3-sphinx.

Reviewed-by: George Melikov <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Umer Saleem <[email protected]>
Closes openzfs#14265
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Dec 17, 2022
In continuation of previous openzfs#13451, this commits adds native-deb*
targets for make to build native debian packages. Github workflows
are updated to build and test native Debian packages.

Native packages only build with pre-configured paths (see the
dh_auto_configure section in contrib/debian/rules.in). While
building native packages, paths should not be configured. Initial
config flags e.g. '--enable-debug' are replaced in
contrib/debian/rules.in.

Additional packages on top of existing zfs packages required to
build native packages include debhelper-compat, dh-python, dkms,
po-debconf, python3-all-dev, python3-sphinx.

Reviewed-by: George Melikov <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Umer Saleem <[email protected]>
Closes openzfs#14265
behlendorf added a commit to behlendorf/zfs that referenced this pull request Dec 20, 2022
The zloop workflow always requests an Ubuntu worker.  Since we
now have native Debian style packaging use these targets for
the zloop workflow.  This follows up on the work done in openzfs#14265.

Signed-off-by: Brian Behlendorf <[email protected]>
behlendorf added a commit to behlendorf/zfs that referenced this pull request Dec 20, 2022
The zloop workflow always requests an Ubuntu worker.  Since we
now have native Debian style packaging use these targets for
the zloop workflow.  This follows up on the work done in openzfs#14265.

Additionally, rollback to using the ubuntu-20.04 builder until
the ax_python_dev.m4 LegacyVersion build issue with 22.04 has
been resolved.

Signed-off-by: Brian Behlendorf <[email protected]>
usaleem-ix added a commit to truenas/zfs that referenced this pull request Dec 22, 2022
In continuation of previous openzfs#13451, this commits adds native-deb*
targets for make to build native debian packages. Github workflows
are updated to build and test native Debian packages.

Native packages only build with pre-configured paths (see the
dh_auto_configure section in contrib/debian/rules.in). While
building native packages, paths should not be configured. Initial
config flags e.g. '--enable-debug' are replaced in
contrib/debian/rules.in.

Additional packages on top of existing zfs packages required to
build native packages include debhelper-compat, dh-python, dkms,
po-debconf, python3-all-dev, python3-sphinx.

Reviewed-by: George Melikov <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Umer Saleem <[email protected]>
Closes openzfs#14265
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Packaging custom packages Status: Accepted Ready to integrate (reviewed, tested)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants