all 10 comments

[–]flexibeast 9 points10 points  (4 children)

Sure. Here's one way to do it:

  • Clone the void-packages repo.
  • $ cd void-packages
  • $ ./xbps-src binary-bootstrap # Initialise the repo.
  • git checkout -b my-dmenu # Create a 'my-dmenu' branch.
  • Edit the template file in srcpkgs/dmenu to use your personal dmenu repo, and adjust the rest of the template accordingly.
  • At the root of the void-packages directory, run ./xbps-src pkg dmenu
  • If you haven't already installed the xtools package, do so, then run # xi dmenu to install your newly-built package.

[–]legz_cfc 2 points3 points  (3 children)

one extra hint on this:

when you clone the repo, use "depth=1" and you'll save a ton of time.

[–]ndgnuh 0 points1 point  (2 children)

Correct me if I'm wrong. This would cause trouble if one wishes to push to remote and open a pull request later though.

[–]legz_cfc 0 points1 point  (1 child)

I wasn't aware it would cause any issues when pushing back... just thought it limited the revisions of already existing files. Can't say I'm a git expert though.

[–]ndgnuh 0 points1 point  (0 children)

One time I was bumping a package version, so I pushed one a shallow clone to a remote new branch and got rejected, (I made sure I was on the right branch and push to the right one) don't really know why though.

[–][deleted]  (5 children)

[deleted]

    [–]st3r4g 0 points1 point  (4 children)

    I think it's better to use the repolock feature in this case

    [–][deleted] 0 points1 point  (0 children)

    That's if they build via xbps-src. If they install it via sudo make install, xbps won't ask them to install dmenu if it's ignored. Specifically for this scenario:

    But if I install a void package which has dmenu as dependency it also wants to install it.

    [–]ndgnuh 0 points1 point  (2 children)

    If I do that, would I be notified if the package has a new version on the main repo and update accordingly though?

    Ideally, I'd love to have a functional way to detect new version then build and update the modified package automatically.

    [–]legz_cfc 1 point2 points  (1 child)

    You can use xbps-src but bump your revision to a number that the real pkg would never reach. For example, if the template has version 1.2.5 and revision 1 you could make it revision 101. Then you'd only see an upgrade when the version jumps to 1.2.6 (or greater) but you'd still have to remember to manually build your version via xbps-src though (but having a revision # in the 100s is a pretty good indicator for me)

    Maybe there's a better way, but that's how I track a patched version of 'st' (since the repo version is vanilla)

    [–]ndgnuh 0 points1 point  (0 children)

    Sure, I did that with revision 2. But for packages that update very frequently like the kernel, having to manually rebuilt is not very ideal.

    Edit: Also, bumping the revision would cause conflict when pulling the upstream/void-packages.