taskSavannah Administration - Tasks: task #7288, Submission of A porting tool for...


task #7288: Submission of A porting tool for making Cygwin net releases

Submitted by:  Jari Aalto <jaalto>
Submitted on:  Sun 09 Sep 2007 03:06:19 PM UTC  
Should Start On:  Sat 08 Sep 2007 09:00:00 PM UTC Should be Finished on:  Tue 18 Sep 2007 09:00:00 PM UTC
Category:  Project Approval Priority:  5 - Normal
Status:  Done Privacy:  Public
Percent Complete:  0% Assigned to:  Sylvain Beucler <Beuc>
Open/Closed:  Closed Effort:  0.00

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Sat 22 Sep 2007 12:07:08 PM UTC, comment #7: 

Will do.
Thanks you,

Jari Aalto <jaalto>
Fri 21 Sep 2007 07:12:05 AM UTC, comment #6: 


I approved your project. Before to upload the code at Savannah, please add a copy of the GFDL license in your sources.


Sylvain Beucler <Beuc>In charge of this item.
Tue 18 Sep 2007 08:25:01 AM UTC, comment #5: 
Jari Aalto <jaalto>
Mon 17 Sep 2007 05:59:04 PM UTC, comment #4: 


So I answered [gnu.org #343410] Licensing GPL/GFDL: Perl code and embedded documentation.

What are your thoughts?

Sylvain Beucler <Beuc>In charge of this item.
Sat 15 Sep 2007 01:42:43 PM UTC, comment #3: 


The documentation is in this case included POD. You can add a notice at the top of your file stating that the POD sections are released under the GFDL. Then you could use some POD command to include the GFDL as a section of the documentation. Are you willing to do so?


Sylvain Beucler <Beuc>In charge of this item.
Fri 14 Sep 2007 01:29:37 PM UTC, comment #2: 

> I better understand the project. I guess the cross-compiler
> environment is needed when you're compiling something a bit more
> difficult than Python code.

The instructions were presented to show that the condition to use
any POSIX compliant Free OS can be met.

In order to utilize the application for native compiling, the
user must provide a suitable gcc environment.

But that is a gcc configuration issue, not the application issue.
The full functionality is available, as demonstrated, for porting
programs developed e.g. in intepreted languages.

> Documentation: I see there is a quite long documentation / man page in
> doc/. Is there a problem releasing it under the GFDL? (or
> dual-licensing it GPL/GFDL?)

The doc/* content is generated from the code, in this case from a
Perl library (See 'docs' target in ./Makefile):


The function bin/cygbuild.pl::Help() handles the documentantion
and it is invoked when program is called with option:

   /path/to/cygbuild.sh --help

The documentation therefore belongs to integral part of the Perl
code which is licenced under GPL.

For user's convenience is has been exported to doc/* files both
in .txt and *.html format.

Jari Aalto <jaalto>
Thu 13 Sep 2007 07:59:23 PM UTC, comment #1: 


I better understand the project. I guess the cross-compiler environment is needed when you're compiling something a bit more difficult than Python code.

Documentation: I see there is a quite long documentation / man page in doc/. Is there a problem releasing it under the GFDL? (or dual-licensing it GPL/GFDL?)

Sylvain Beucler <Beuc>In charge of this item.
Sun 09 Sep 2007 03:06:19 PM UTC, original submission:  

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves or discards the registration.

Registration Administration

While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators, effectively logged as site administrators (superuser):

Registration Details

  • Name: A porting tool for making Cygwin net releases
  • System Name:  cygbuild
  • Type: non-GNU software & documentation
  • License: GNU General Public License v2 or later


A Porting tool for making Cygwin Net Releases.

Cygbuild is something like Debian dh_make(1) .deb or rpm(1) .rpm maker utility, but for Win32 Cygwin platform. It automates package maintenenance so that with few commands, it is possible to convert a software package into a installable Cygwin package.

Other Software Required:

Bash 2.04+
Perl 5.004+
GNU make any version
Python any version
GNU bintools any version

Other Comments:

To clarify some points in the 'Step 1: Services and Requirements::No
dependencies on non-free software'

    To be hosted on Savannah, your project must be free software[1], and
    it must be kept independent of any non-free software. The package
    must not refer the user to any non-free software[2]; in particular,
    it must not automatically[3] download or install any non-free

[1] The application uses only Free Software programs.
[2] No references exist.
[3] The program does not download or install anything by itself.

    The program should deliver its full functionality and convenience
    on a completely free platform based on a free operating
    system, such as GNU/Linux[1], working entirely with other free
    software[2]. Otherwise it would be an inducement to install
    non-free operating systems or other non-free software.

- - - - - demonstration START

[1] and [2]: The application has been tested to work solely on Free
OS; in the Debian stable distribution. To demonstrate, follow these
steps. On Free OS; assuming it's POSIX compliant and contains
following programs: Bash, Perl, Python and necessary GNU difftools and
other standard utilities (ls, sed, ...).

(a) Install the software

mkdir /tmp/cygbuild
cd /tmp/cygbuild
wget http://cante.net/~jaalto/tmp/tmp/cygbuild-20070909.1501.tar.gz
tar -xf cygbuild-20070909.1501.tar.gz

(b) Download sample application to demontsrate how Cygwin Net release
package is generated

mkdir /tmp/cygbuild/port
cd /tmp/cygbuild/port
wget http://homepage.ntlworld.com/cmarinas/stgit/stgit-0.13.tar.gz
tar -zxf stgit-0.13.tar.gz
cd stgit-0.13

(c) Run the program with absolute path to initiate the porting

bash $path/cygbuild.sh --release 1 mkdirs files conf make install pkg

(d) Ignore any errors that may had been displayed. Those were purely
cosmetic and concern only the final touch of filling in proper
documentation in CYGWIN-PATCHES/README.* file.

(e) check the produced result:

ls -la .sinst/*
tar jxvf .sinst/*tar.bz2

(f) The generated .sinst/stgit-0.13-1.tar.bz2 is the result of the
application; so called Cygwin Net Release package. The archive could
be transmitting to suitable Cygwin environment and installed with command:

tar -C / -jxf stgit-0.13-1.tar.bz2

- - - - - demonstration END

    It is ok for the program to run on non-free platforms[1] or non-free
    operating systems[2], and to work with well-known non-free
    applications, in addition to working with free software,
    provided it gives the free software at least as good support
    as it gives to other alternatives. In other words, at no
    time, in no way, should your program put free software users
    at a disadvantage compared to those willing to use
    proprietary software.

[1] Cygwin is to my knowledge a free platform
[2] Cygwin uses the Windows platform, which is non-Free

This application works on any POSIX compliant system - that is, Cygwin
is not a requirement.

> For the documentation, we only accept documentation under the GNU Free
> Documentation License (or compatible). The GNU GPL is not compatible
> with the GFDL and cannot be used for documentation at Savannah.

All program files are licenced under GPL. There is no separate

Jari Aalto <jaalto>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by Beuc (Posted a comment)
  • -email is unavailable- added by jaalto (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2007-09-21 Beuc StatusWait reply => Done
        Open/ClosedOpen => Closed
    2007-09-13 Beuc StatusNone => Wait reply
        Assigned toNone => Beuc

    Back to the top

    Powered by Savane 3.5