Skip to content

Custom cygwin package #844

Description

@drbean

After much trial and error, I think I have an App-perlbrew custom cygwin
package which I can not recommend, but at least show, as proof that it can be done.

I put it on a custom cygwin server, http://drbean.sdf.org/cygwin, where it is the only package. If it is
your first download of cygwin packages, you will need to download perl and other packages from a real cygwin mirror beforehand.

It is unsigned by the project so you have to invoke the cygwin installer from the command line, as /cygdrive/c/Users/$USER/Downloads/setup-x86_64.exe --no-verify.

As a proof of concept, I decided to just install perlbrew in /usr/bin,
but with tweaks, like

export PERL_MB_OPT="--install_base ${HOME}/perl5/perlbrew
	--install_path share=${HOME}/perl5/perlbrew/share"

I was able to install at least man and lib in perl5/perlbrew, but not
README, etc. I couldn't find where the App::Perlbrew::* modules were when I installed perlbrew in /usr, and /usr/local.

Not being a system package it should at most be in /usr/local, not /usr.

The real work appears to be done in the postinstall script, which at the moment is just

    curl -L https://install.perlbrew.pl | bash

So it doesn't add any value over installing it that way.

Because the whole install is done with elevated Administrator privileges, the files end up with Administrator permissions, which is not wanted in ~/perl5/perlbrew.

I don't know how to change that. Perhaps it is as simple as chowning them after they're created.

I'm open to suggestions as the best place for perlbrew installed by a cygwin package, although I don't intend to promote use of packages to install perlbrew on cygwin, or even to maintain this one. It was more an exercise in learning about cygwin packaging.

https://cygwin.org/packages.html
https://cygwin.github.io/cygport/toc_index.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions