This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
cygport improvements: upload, fish, src_prep_fini_hook
- From: Andrew Schulman <schulman dot andrew at epa dot gov>
- To: cygwin-apps at cygwin dot com
- Date: Sun, 19 Oct 2014 10:13:56 -0400
- Subject: cygport improvements: upload, fish, src_prep_fini_hook
- Authentication-results: sourceware.org; auth=none
I've published several improvements to cygport on Github. Each improvement
is in its own branch:
upload
Adds the "upload" command: upload finished packages to cygwin.com.
fish
Creates fish scripts in /etc/profile.d/*.fish.
src_prep_fini_hook
Adds support for the src_prep_fini_hook() hook function, which runs
at the end of prep, after creation of the src directory. This seems to be
the only way to copy in complete files to the src directory during prep.
src_patch_hook() and src_unpack_hook() don't work for that, because they
run before src is created. (You could use them to copy files into
origsrc, but then the diff wouldn't appear in the cygwin.patch.)
I find this hook essential for copying in extra files such as the
CYGWIN-PATCHES directory, including README.Cygwin, during prep, and
having them reflected in the cygwin.patch. In .cygport.conf:
CYGPORT_USE_UNSTABLE_API=1
src_prep_fini_hook ()
{
cd "${top}"
# copy in extra files
if [[ -d extras && "$(ls extras)" ]] ; then
inform "Copying in extra files"
cp -a extras/* "${S}"
fi
}
It's much easier to maintain extra files as files like this and copy them
in during prep, than to keep them as patches.
Originally proposed years ago by Charles Wilson. Some old discussion is
at https://sourceware.org/ml/cygwin-apps/2008-10/msg00087.html .
all
Merges the upload, fish, and src_prep_fini_hook branches. This is the
version I use for my regular packaging.
Git repository:
Web https://github.com/andrex-e-schulman/cygport
git clone https://github.com/andrex-e-schulman/cygport.git
To try a package with all of the above improvements (for x86 or x86_64):
wget http://home.comcast.net/~andrex2/cygwin/cygport-0.17.0-aes1.tar.xz
tar -Jx -C/ -f cygport-0.17.0-aes1.tar.xz
Andrew