public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Setting up overlay package server
@ 2017-03-25 11:27 Ivan Gagis
  2017-03-25 13:35 ` Jon Turney
  2017-03-25 20:06 ` Andrey Repin
  0 siblings, 2 replies; 3+ messages in thread
From: Ivan Gagis @ 2017-03-25 11:27 UTC (permalink / raw)
  To: cygwin

Hi,

I'm developing some software which consists of several libraries and I 
would like to distribute it for Cygwin. So, I would need a feature of 
setting up a custom cygwin repository for my packages. As I understand 
the most suitable here would be an overlay package server. Right?

Unfortunately, I could find no information on the web about how to set 
up an overlay package server. Cygwin page 
https://cygwin.com/package-server.html misses the docs about how to do 
that also, saying that the manual is TBD. So, is it very complicated to 
do that, so that even manual is not yet written?

Are there any plans to complete the manual about setting up the overlay 
package server?

Could somebody give me some hints on how to do that?

And what would be the configurations needed on the user side to start 
using my overlay server? Ideally, I'd prefer it would be working with 
apt-cyg script.

Thanks,
Ivan


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Setting up overlay package server
  2017-03-25 11:27 Setting up overlay package server Ivan Gagis
@ 2017-03-25 13:35 ` Jon Turney
  2017-03-25 20:06 ` Andrey Repin
  1 sibling, 0 replies; 3+ messages in thread
From: Jon Turney @ 2017-03-25 13:35 UTC (permalink / raw)
  To: The Cygwin Mailing List; +Cc: Ivan Gagis

On 25/03/2017 10:55, Ivan Gagis wrote:
> Hi,
>
> I'm developing some software which consists of several libraries and I
> would like to distribute it for Cygwin. So, I would need a feature of
> setting up a custom cygwin repository for my packages. As I understand
> the most suitable here would be an overlay package server. Right?
>
> Unfortunately, I could find no information on the web about how to set
> up an overlay package server. Cygwin page
> https://cygwin.com/package-server.html misses the docs about how to do
> that also, saying that the manual is TBD. So, is it very complicated to
> do that, so that even manual is not yet written?

No, it's not that complicated.

> Are there any plans to complete the manual about setting up the overlay
> package server?

The plan is to do it when someone gets around to it :)

As it says on that page, "If you can help update this documentation, 
please send corrections to the cygwin-apps mailing list."

> Could somebody give me some hints on how to do that?

Follow the steps of "creating a custom Cygwin package server", but 
instead of copying/linking an existing Cygwin mirror in step 2, start 
with an empty directory.

In step 3, add the '-okmissing=required-package' flag to mksetupini 
(this turns off checking that all dependencies can be found, since 
presumably some of them will be provided by the standard Cygwin package 
repository. (See footnote 1)

(Additionally, if you are going to overlay an existing package with a 
test: version in your repository, you will need to use the 
'--okmissing=curr' flag to indicate that it's ok not to have a curr: 
version of a package)

> And what would be the configurations needed on the user side to start
> using my overlay server? Ideally, I'd prefer it would be working with
> apt-cyg script.

With cygwin setup, you will need to *add* the URL of your repository.

On the "Choose A Download Site" page, enter the URL of your repository 
in the "User URL" box, press "Add".  Then ensure *both* that site *and* 
a Cygwin mirror site are selected.

I can't help you with apt-cyg.

(footnote 1): We are currently lacking a tool to check that 
cross-repository dependencies can be satisfied (i.e. that packages for 
these presumptive dependencies actually exist), so you should run setup, 
tell it to install *everything*, and see if the "Resolving dependencies" 
page reports any dependencies as not found. (See discussion starting at [1])

[1] https://cygwin.com/ml/cygwin-apps/2016-07/msg00007.html


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Setting up overlay package server
  2017-03-25 11:27 Setting up overlay package server Ivan Gagis
  2017-03-25 13:35 ` Jon Turney
@ 2017-03-25 20:06 ` Andrey Repin
  1 sibling, 0 replies; 3+ messages in thread
From: Andrey Repin @ 2017-03-25 20:06 UTC (permalink / raw)
  To: Ivan Gagis, cygwin

[-- Attachment #1: Type: text/plain, Size: 1397 bytes --]

Greetings, Ivan Gagis!

> Hi,

> I'm developing some software which consists of several libraries and I 
> would like to distribute it for Cygwin. So, I would need a feature of 
> setting up a custom cygwin repository for my packages. As I understand 
> the most suitable here would be an overlay package server. Right?

Unless you want to host a complete Cygwin mirror, all you need to do is to
only host your own packages on a custom package server.
https://cygwin.com/package-server.html#custom-mirror

> Unfortunately, I could find no information on the web about how to set 
> up an overlay package server. Cygwin page 
> https://cygwin.com/package-server.html misses the docs about how to do 
> that also, saying that the manual is TBD. So, is it very complicated to 
> do that, so that even manual is not yet written?

> Are there any plans to complete the manual about setting up the overlay 
> package server?

> Could somebody give me some hints on how to do that?

> And what would be the configurations needed on the user side to start 
> using my overlay server? Ideally, I'd prefer it would be working with 
> apt-cyg script.

Look at setup's -K and -s switches.
For reference, I'm attaching my Cygwin upgrade script with optional ports
integration. ("install-cygwin.sh" ports)


-- 
With best regards,
Andrey Repin
Saturday, March 25, 2017 16:14:51

Sorry for my terrible english...

[-- Attachment #2: install-cygwin.sh --]
[-- Type: application/octet-stream, Size: 1661 bytes --]

#!/bin/sh

PATH=/usr/sbin:/sbin:/usr/local/bin:/bin:/proc/cygdrive/c/Windows/System32:/proc/cygdrive/c/Windows

net session > /dev/null 2>&1 || {
  echo Not elevated.
  exit 1
}

# Cygwin upgrade helper script.
# Usage:
#
#   install-cygwin.sh [ ports ]
#
# If you intend to use it for new installs, you will need minimal bootstrap
# including POSIX shell interpreter and wget utility.
#
# You will have to edit the script to provide mirror URL of your choice.
#
# The script assumes existing installation of the same architecture as
# the host operating system.
# If you want to install 32-bit Cygwin on 64-bit host, override
# $ARCH with value other than "x86_64".
# F.e.
#
#   ARCH=x86 ./install-cygwin.sh

# Mirror URL - don't include trailing slash!
MIRROR="${MIRROR:-http://ftp-stud.hs-esslingen.de/pub/Mirrors/sources.redhat.com/cygwin}"

# System architecture.
ARCH="${ARCH:-$(uname -m)}"

# Localization is fine... as long as you don't show it to other people.
export LANG=C

if [ "$ARCH" != "x86_64" ]; then
  ARCH=x86
fi

# Crude test for other Cygwin processes running.
if [ "$1" != "--force" ]; then
  TTY=$(tty)
  test $(ps -al | grep -vE "\<${TTY##/dev/}\>" | wc -l) -gt 1 && {
    echo There\'s likely other processes running from Cygwin environment.
    echo Please stop them or use --force to suppress this test.
    exit 1
  }
else
  shift
fi

wget -N "https://cygwin.com/setup-${ARCH}.exe"

if [ "$1" = "ports" ]; then
  KEYS="-K http://cygwinports.org/ports.gpg -s ""${MIRROR%%/}ports/"
  shift
fi

./setup-${ARCH}.exe -O -s "${MIRROR%%/}/" $KEYS $* &

sleep 2
taskkill /IM "sh.exe" /F
taskkill /IM "bash.exe" /F
taskkill /IM "dash.exe" /F

[-- Attachment #3: Type: text/plain, Size: 219 bytes --]


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-25 13:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-25 11:27 Setting up overlay package server Ivan Gagis
2017-03-25 13:35 ` Jon Turney
2017-03-25 20:06 ` Andrey Repin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).