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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

ntfs2btrfs: init at 20240115 #297152

Merged
merged 2 commits into from Mar 25, 2024
Merged

ntfs2btrfs: init at 20240115 #297152

merged 2 commits into from Mar 25, 2024

Conversation

j1nxie
Copy link
Member

@j1nxie j1nxie commented Mar 19, 2024

Description of changes

Ntfs2btrfs is a tool which does in-place conversion of Microsoft's NTFS filesystem to the open-source filesystem Btrfs, much as btrfs-convert does for ext2.

(original GitHub page: https://github.com/maharmstone/ntfs2btrfs)

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 馃憤 reaction to pull requests you find important.

@DerRockWolf
Copy link
Contributor

DerRockWolf commented Mar 19, 2024

Reviewed points
  • package path fits guidelines
  • package name fits guidelines
  • package version fits guidelines
  • package builds on x86_64-linux
  • executables tested (just run, no FS conversion tested) on x86_64-linux
  • meta.description is set and fits guidelines
  • meta.license fits upstream license
  • meta.platforms is set
  • meta.maintainers is set
  • build time only dependencies are declared in nativeBuildInputs
  • source is fetched using the appropriate function
  • the list of phases is not overridden
Possible improvements
Comments

I did this review because of the recommendation in the PR template. If you want to and find some time you could also look at my PR: #297245

@j1nxie
Copy link
Member Author

j1nxie commented Mar 20, 2024

squashed the two commits, and changed the commit message to the PR title!

i also changed a bit of the wording, please tell me if meta.description fits better now!

added meta.platforms and excluded darwin as i don't believe this builds on darwin - or at least the original repository does not mention anything about darwin.

thanks for the review, please tell me if there is anything else i need to fix.

Copy link
Contributor

@DerRockWolf DerRockWolf left a comment

Choose a reason for hiding this comment

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

See my above comments

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/3661

@j1nxie
Copy link
Member Author

j1nxie commented Mar 20, 2024

See my above comments

also added meta.platforms if you missed it, according to the guidelines i'm supposed to set it to lib.platforms.all and tag badPlatforms for platforms that won't build - i pre-emptively tagged all darwin platforms as meta.badPlatforms since the original repo does not mention building on darwin and i don't have a machine to test sadly.

@DerRockWolf
Copy link
Contributor

See my above comments

also added meta.platforms if you missed it, according to the guidelines i'm supposed to set it to lib.platforms.all and tag badPlatforms for platforms that won't build - i pre-emptively tagged all darwin platforms as meta.badPlatforms since the original repo does not mention building on darwin and i don't have a machine to test sadly.

Yes, I've seen it :)
Do you mind pointing me to the guidelines about platforms? I could only find this and "Platforms should be set (or the package will not get binary substitutes)." from here.

@j1nxie
Copy link
Member Author

j1nxie commented Mar 20, 2024

See my above comments

also added meta.platforms if you missed it, according to the guidelines i'm supposed to set it to lib.platforms.all and tag badPlatforms for platforms that won't build - i pre-emptively tagged all darwin platforms as meta.badPlatforms since the original repo does not mention building on darwin and i don't have a machine to test sadly.

Yes, I've seen it :) Do you mind pointing me to the guidelines about platforms? I could only find this and "Platforms should be set (or the package will not get binary substitutes)." from here.

In general it is preferable to set meta.platforms = lib.platforms.all and then exclude any platforms on which the package is known not to build. For example, a package which requires dynamic linking and cannot be linked statically could use this.

this is quoted straight from the first link you sent!

@DerRockWolf
Copy link
Contributor

In general it is preferable to set meta.platforms = lib.platforms.all and then exclude any platforms on which the package is known not to build. For example, a package which requires dynamic linking and cannot be linked statically could use this.

this is quoted straight from the first link you sent!

Ah, you're right, my bad 馃槄

Copy link
Contributor

@lolbinarycat lolbinarycat left a comment

Choose a reason for hiding this comment

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

built successfully. looks pretty good!

it does output to /sbin also, maybe that should be deleted in a postInstall hook?

pkgs/by-name/nt/ntfs2btrfs/package.nix Outdated Show resolved Hide resolved
@j1nxie
Copy link
Member Author

j1nxie commented Mar 23, 2024

built successfully. looks pretty good!

it does output to /sbin also, maybe that should be deleted in a postInstall hook?

ideally (at least, in my own testing) you probably should invoke ntfs2btrfs with su permissions, at least with sudo ntfs2btrfs, so i'm unsure whether or not i should remove the /sbin output.

@SuperSandro2000 SuperSandro2000 merged commit e475af6 into NixOS:master Mar 25, 2024
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants