Re: OS X package building environment available for testing

Fabian Keil <[email protected]>
Newsgroups gmane.comp.web.privoxy.devel
Message-ID <[email protected]>
Ian Silvester <[email protected]> wrote:

> On 2012-02-19, at 1:30 PM, Fabian Keil wrote:
> 
> > Ian Silvester <[email protected]> wrote:
> > 
> > Ian, it occurred to me that this discussion could happen in
> > public on the mailing list. If you agree to this, please reply
> > to the list instead of in private.
> > 
> >> So I've cleaned up my build environment
> <snip>
> >> 
> >> I'm guessing that David you are in the best position to confirm that
> >> it can generate a Privoxy package correctly; Fabian please feel free
> >> to confirm that it does not violate the GPL (I am relatively sure it
> >> does not).
> > 
> > I can't. Confirming GPL compliance requires knowledge of the
> > targeted platform and the build environment and I'm not familiar
> > with Mac OS X and the software required to create the package.
> 
> Understood. The only software required outside of the module I've
> developed is the same as is required for the existing osxsetup module,
> it being PackageMaker (to build the OS X installation package file).
> This software is supplied as part of Xcode, the de facto Apple software
> development environment which, whilst not open source, is a free
> download and included on OS X distribution media.

Whether or not the download is free of charge doesn't matter,
but if everything required to build the package from the
sources provided is also included on OS X distribution media
the "special exception" of §3 should apply, so that's good to
know.

If David comes to the same conclusion, that would be good enough for me.

>                                                   I trust that this
> doesn't present any issues; the fact that it's used by an existing
> Privoxy project module should surely be enough? I recognise the
> possibility that the existing module could be out of GPL compliance, but
> how about the hundreds (thousands?) of other open source projects out
> there that have OS X binary distributions? Surely they can't all be
> wrong!
> 
> Can anyone else make a definitive statement on this? I would hate to see
> this distribution fail due to it's dependence on the fundamental piece
> of software that generates the distribution file!

That would be a shame, indeed.
 
> > I skimmed through the package, though, so I've got a couple
> > of comments:
> > 
> > 1)
> > Several files have no copyright and license information
> > at all and there doesn't seem to be an obvious default
> > license. I'm aware that some of the affected files have
> > been inherited from another package but it would be preferable
> > to fix this.
> > 
> > 2)
> > Some files contain a header like this:
> > 
> > | # Created by Ian Silvester for the Privoxy project.
> > | # See Privoxy's LICENSE file for licensing details.
> > | # With thanks to David Schmidt & Mark Miller on whose work this OS X
> > installer is based | # and to Fabain Keil for technical guidance.
> > 
> > The first line doesn't make it clear who the copyright
> > holder is. An explicit copyright line would be preferable,
> > even if it doesn't mention individuals.
> > 
> > The second line should at least mention the name of
> > the license (if it's GPLv2 or another license whose
> > text is rather long).
> > 
> > Given that your tar file already seems to contains a
> > copy of the GPLv2 it would probably preferable to reference
> > that instead of "Privoxy's LICENSE file" which may change in
> > the future.
> 
> I have inserted a new header in all files of the following format (taken
> from Privoxy's own README file). I believe that it answers all the above
> concerns:
> 
> # File        :  constructPkgContent.sh
> #
> # Purpose     :  Create the hierarchy of folders and files that will 
> #                        comprise the installation package.
> #
> # Copyright   :  Written by and Copyright (C) 2001-2012 the
> #                Privoxy team. http://www.privoxy.org/

This attribution ("the Privoxy team") isn't ideal but will do for now.
Using proper copyright attribution for Privoxy itself is already on the
TODO list as #64, so this can wait until then.

> #                Based on the Internet Junkbuster originally written
> #                by and Copyright (C) 1997 Anonymous Coders and
> #                Junkbusters Corporation.  http://www.junkbusters.com

I think the OS X package sources came long after the fork from
Internet Junkbuster, so this paragraph should be removed.

> #                This program is free software; you can redistribute it
> #                and/or modify it under the terms of the GNU General
> #                Public License as published by the Free Software
> #                Foundation; either version 2 of the License, or (at
> #                your option) any later version.
> #
> #                This program is distributed in the hope that it will
> #                be useful, but WITHOUT ANY WARRANTY; without even the
> #                implied warranty of MERCHANTABILITY or FITNESS FOR A
> #                PARTICULAR PURPOSE.  See the GNU General Public
> #                License for more details.
> #
> #                The GNU General Public License should be included with
> #                this file.  If not, you can view it at
> #                http://www.gnu.org/copyleft/gpl.html
> #                or write to the Free Software Foundation, Inc.,
> #                51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
> #                USA
> #
> # Modification : If you modify this file please consider whether the change
> #                ought to be passed back to the macsetup module.

> > Giving credits is appreciated, but putting them in
> > the README once (where my name is also spelled correctly)
> > is really sufficient if they are given for general help and
> > not actual code.
> 
> Understood - credits now restricted to README file.
> 
> > Where actual copyrighted material has been embedded from
> > another package, the copyright line should cover this (and
> > the licenses have to be compatible of course).
> 
> The macsetup package contains no copyrighting nor licensing information.
> I reached out to Mark Miller for clarification and he has emailed to say
> he's happy for me to include parts of his work and redistribute them
> under the GPLv2; in fact he was keen that his work is licensed in the
> same way as the main Privoxy project.

Great, thanks for the confirmation.

> > 5)
> > Regarding the uninstaller: is uninstalling everything including
> > possibly modified configuration files and log files the expected
> > behaviour for a Mac OS X package?
> > 
> > Given that I don't remember complaints from Mac users in the past
> > the answer may well be yes.
> 
> Hmmm, interesting point that one. The average OS X user has no concept
> of the separation between code and configuration and the location for an
> Objective-C package's configuration files would be
> ~/Library/Preferences. The uninstallation method usually understood by
> said average user is to simply drag the application to the Trash.
> Consequently the effective behaviour is to leave configuration in place
> when uninstalling, though no doubt the user's *intended* behaviour was
> to remove all trace of the application.
> 
> Regardless, I've modified the uninstall script to offer the option of
> leaving the configuration folder in place, for the benefit of what the
> Mac community would refer to as power users.

Thanks.

> >> Please let me know if you would prefer a straight diff of changes
> >> rather than git's output.
> > 
> > In general I prefer git format-patch output like this,
> > but it seems to me that long lines have been truncated
> > here.
> > 
> > In this case it would also have made sense to squash
> > the two commits into one.
> > 
> > As the manual is generated from the sgml files in
> > doc/source, changes to the HTML will be overwritten
> > the next time the docs are generated, so the source
> > files need to be updated as well.
> > 
> > As this is a change were a file in the binary package
> > differs from the source tarball (until the next release
> > which hopefully will contain your adjustments), the diff
> > for the source file should then also be either included
> > in the package or the URL referenced.
> > 
> > It's unlikely that any user cares about this, but it's
> > important from a GPL point of view.
> 
> To simplify workflow and remove this impediment to release I've reverted
> my distribution to use the documentation from the source tarball.
> 
> I'll re-submit the documentation diffs separately, correcting my
> mistakes and supplying them as source diffs rather than those for the
> resulting HTML, such that they might be included in the next release.

Okay.

> >> - I feel that the manual should reference all three modules since each
> >> has it's good points
> >> 
> >> Please let me know what the official route should be for submitting a
> >> binary back to the project and creating a release for it and also what
> >> you think about including all three modules in the documentation (or
> >> whether mine should become the sole entry!).
> > 
> > It's unlikely that we will be able to maintain three separate
> > modules in the future. Assuming yours is the only one that currently
> > works out of the box the documentation should probably concentrate
> > on that.
> > 
> > It doesn't hurt to mention the others as well (if you are willing
> > to do this), but their current state should be made obvious.
> > A list of the advantages of each package would be great, too.
> 
> On balance I think I'll include mine (OSXPackageBuilder) and macsetup
> and deprecate osxsetup. Mine entirely supersedes osxsetup in that it
> targets the same output (an OS X installer package) and is significantly
> more complete, supporting a far wider range of OS X versions. macsetup
> on the other hand has the advantage that it's target is installing to OS
> X direct from the source code rather than building a distribution. I'll
> make that clear in the documentation.

Sounds good to me.

> Back to the business at hand. I've placed updated OS X packages and a
> tar of the OSXPackageBuilder in the same locations as before, respecting
> all the changes referred to in this email (excepting the documentation
> changes of course). If these items now pass muster, please upload the
> two packages to Sourceforge and make releases for them (or give me the
> rights to do so) and check the OSXPackageBuilder module into CVS. Let's
> get this out there!

I haven't checked the updated tar file but it seems like
you addressed all my comments. Thanks.

David, do you think the package is ready for release?

Fabian

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/

_______________________________________________
Ijbswa-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ijbswa-developers
signature.asc (application/pgp-signature, 196 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAk9FSAYACgkQSMVSH78upWNa/gCcDSpz/u+xxa2sO+NM9BuLScco
KDcAni3RBzRhFNnplpTJYsyD6hILD8tz
=Htpz
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.