On Sava's request, I've just spent an hour or two looking at the task of
putting together an RPM for the new campsite version, but the following
problems are getting in the way. These are pretty similar to the earlier
problems I had with version 2.2.2's RPM but because many files have
changed, I can't just reapply my patch from last time without looking
carefully at everything again.
I wonder if you have any comments on the following items? I am going to
propose that I patch against a side-branch of the CVS (SVN?) repository,
so that my changes get saved for easy reuse in later versions. Would be
happy with that idea? If I build an RPM now, I want not to have to go
through all the details of these things again in the lext version.
Several of the issues will disappear when we move to Smarty, but not all
of them.
Cheers
JP
* "make install" doesn't just install files. Current campsite "make
install" downloads and installs third-party PEAR components, and
uses some nonstandard environment variables.
* Changes are required to backup_instance and related scripts to
ensure correct behaviour when called just so from commandline
* php-adodb is bundled with campsite but is also available as
independent RPM. The independent RPM should be used if at all
possible.
* PEAR modules are downloaded by campsite installer even if a PEAR
RPM has been correctly installed.
* correct override of BIN_DIR with $PREFIX/bin doesn't occur, also
it seems to be assumed that campsite binaries are located in a
directory of their own eg /usr/local/campsite/bin; this is not
standard practise, standard would be /usr/local/bin (or /usr/bin
in the case of a package/distro installation).
* The nature of the make.env file is such that the install location
can not simply be overridden using make prefix=/var/www/campsite
install, since ALL environment variables must be overridden.
Current use of the make.env file causes difficulties in building
an RPM. A better make.env file would take the form eg BIN_DIR =
$(PREFIX)/bin etc. Or maybe no make.env at all, just commandline
overrides.
* An aside: must the install scripts be located in a hidden folder?
* Utility scripts need should be renamed with a campsite_ prefix so
that they are not ambiguous in the shell commandline namespace.
Many of these will remain even after the move to the Smarty parser.
------------------------------------------
Posted to Phorum via PhorumMail
>From my point of view I need only one think respected:
default install should not ask any questions during its run.
So untill you keep the process:
configure
make
make install
I am fine with it.
About pear dependencies, I have no idea how to mark that as dependency,
because those are no packages. Therefore I would like to have a chance
to run some script that installs these dependencies and you can remove
them from make install
The install in FreeBSD port system has its own Makefile and through it I
will install all staff anyways.
I also plan to create patches that eliminate a need of bash symlink etc.
Ondra
On Tue, 2005-08-02 at 10:55 +1000, John Pye wrote:
> Hi Mugur
>
> On Sava's request, I've just spent an hour or two looking at the task of
> putting together an RPM for the new campsite version, but the following
> problems are getting in the way. These are pretty similar to the earlier
> problems I had with version 2.2.2's RPM but because many files have
> changed, I can't just reapply my patch from last time without looking
> carefully at everything again.
>
> I wonder if you have any comments on the following items? I am going to
> propose that I patch against a side-branch of the CVS (SVN?) repository,
> so that my changes get saved for easy reuse in later versions. Would be
> happy with that idea? If I build an RPM now, I want not to have to go
> through all the details of these things again in the lext version.
> Several of the issues will disappear when we move to Smarty, but not all
> of them.
>
> Cheers
> JP
>
> * "make install" doesn't just install files. Current campsite "make
> install" downloads and installs third-party PEAR components, and
> uses some nonstandard environment variables.
> * Changes are required to backup_instance and related scripts to
> ensure correct behaviour when called just so from commandline
> * php-adodb is bundled with campsite but is also available as
> independent RPM. The independent RPM should be used if at all
> possible.
> * PEAR modules are downloaded by campsite installer even if a PEAR
> RPM has been correctly installed.
> * correct override of BIN_DIR with $PREFIX/bin doesn't occur, also
> it seems to be assumed that campsite binaries are located in a
> directory of their own eg /usr/local/campsite/bin; this is not
> standard practise, standard would be /usr/local/bin (or /usr/bin
> in the case of a package/distro installation).
> * The nature of the make.env file is such that the install location
> can not simply be overridden using make prefix=/var/www/campsite
> install, since ALL environment variables must be overridden.
> Current use of the make.env file causes difficulties in building
> an RPM. A better make.env file would take the form eg BIN_DIR =
> $(PREFIX)/bin etc. Or maybe no make.env at all, just commandline
> overrides.
> * An aside: must the install scripts be located in a hidden folder?
> * Utility scripts need should be renamed with a campsite_ prefix so
> that they are not ambiguous in the shell commandline namespace.
> Many of these will remain even after the move to the Smarty parser.
>
>
>
------------------------------------------
Posted to Phorum via PhorumMail
Having no questions during install is a fundamental requirement of RPM
installs as well.
This means that 'create_instance' will always needs to be installed
after the RPM has been installed, to access the database and perform all
database initialisation stuff, interactively, using a local mysql
password. This can't be done during installation because the mysql root
password can't be known, and it shouldn't be guessed because that would
leave the installation in an indeterminate state.
Pear dependencies are fine, there are RPM packages with the minimal set
of PEAR dependencies required. The default location on Red Hat is
/usr/share/pear, dunno about other systems. (I have seen versions of
RPM, in pl-linux, which can automatically detect PEAR dependencies but
this is not provided in FC3, it must have been a bit flakey).
I noticed that there is a project, I think it was called pkgconfig, that
allows both DEB and RPM packages to be build from a common spec file,
but this only works with autotools-based builds. I know that this
wouldn't help you with BSD, you have a different system.
Making RPMs requires that different parameters be passed to the "make
install" step versus the "configure" step. This is because the
"configure" step sets up and config files required by the software (eg
locations of installed files) but compiles files in a local/temp
directory, whereas the "make install" step copies the files into a
SPECIAL location which RPM then inspects in order to find the files
which comprise the package. If the distinction between these two steps
is not clearly maintained in the install process, then it becomes rather
messy to construct a clean RPM build.
I understand that DEB packages have a very similar requirement to this;
DEB packages also require files to be installed into their own little
private 'filesystem'.
JP
Ondra Koutek wrote:
>>From my point of view I need only one think respected:
>default install should not ask any questions during its run.
>So untill you keep the process:
>configure
>make
>make install
>I am fine with it.
>
>About pear dependencies, I have no idea how to mark that as dependency,
>because those are no packages. Therefore I would like to have a chance
>to run some script that installs these dependencies and you can remove
>them from make install
>
>The install in FreeBSD port system has its own Makefile and through it I
>will install all staff anyways.
>I also plan to create patches that eliminate a need of bash symlink etc.
>
>Ondra
>
>
>On Tue, 2005-08-02 at 10:55 +1000, John Pye wrote:
>
>
>>Hi Mugur
>>
>>On Sava's request, I've just spent an hour or two looking at the task of
>>putting together an RPM for the new campsite version, but the following
>>problems are getting in the way. These are pretty similar to the earlier
>>problems I had with version 2.2.2's RPM but because many files have
>>changed, I can't just reapply my patch from last time without looking
>>carefully at everything again.
>>
>>I wonder if you have any comments on the following items? I am going to
>>propose that I patch against a side-branch of the CVS (SVN?) repository,
>>so that my changes get saved for easy reuse in later versions. Would be
>>happy with that idea? If I build an RPM now, I want not to have to go
>>through all the details of these things again in the lext version.
>>Several of the issues will disappear when we move to Smarty, but not all
>>of them.
>>
>>Cheers
>>JP
>>
>> * "make install" doesn't just install files. Current campsite "make
>> install" downloads and installs third-party PEAR components, and
>> uses some nonstandard environment variables.
>> * Changes are required to backup_instance and related scripts to
>> ensure correct behaviour when called just so from commandline
>> * php-adodb is bundled with campsite but is also available as
>> independent RPM. The independent RPM should be used if at all
>> possible.
>> * PEAR modules are downloaded by campsite installer even if a PEAR
>> RPM has been correctly installed.
>> * correct override of BIN_DIR with $PREFIX/bin doesn't occur, also
>> it seems to be assumed that campsite binaries are located in a
>> directory of their own eg /usr/local/campsite/bin; this is not
>> standard practise, standard would be /usr/local/bin (or /usr/bin
>> in the case of a package/distro installation).
>> * The nature of the make.env file is such that the install location
>> can not simply be overridden using make prefix=/var/www/campsite
>> install, since ALL environment variables must be overridden.
>> Current use of the make.env file causes difficulties in building
>> an RPM. A better make.env file would take the form eg BIN_DIR =
>> $(PREFIX)/bin etc. Or maybe no make.env at all, just commandline
>> overrides.
>> * An aside: must the install scripts be located in a hidden folder?
>> * Utility scripts need should be renamed with a campsite_ prefix so
>> that they are not ambiguous in the shell commandline namespace.
>> Many of these will remain even after the move to the Smarty parser.
>>
>>
>>
>>
>>
>
>
>
>
------------------------------------------
Posted to Phorum via PhorumMail
> * "make install" doesn't just install files. Current campsite "make
> install" downloads and installs third-party PEAR components, and
> uses some nonstandard environment variables.
Yes, I had to do this in order to make the install process easier.
> * Changes are required to backup_instance and related scripts to
> ensure correct behaviour when called just so from commandline
Yep, I know, bug "1212: Backup/restore instance scripts broken?", I may be able
to fix it for 2.3.1
> * php-adodb is bundled with campsite but is also available as
> independent RPM. The independent RPM should be used if at all
> possible.
Can you make a patch for the install scripts to handle this case?
> * PEAR modules are downloaded by campsite installer even if a PEAR
> RPM has been correctly installed.
Can you make a patch for the install scripts to handle this case?
> * correct override of BIN_DIR with $PREFIX/bin doesn't occur, also
> it seems to be assumed that campsite binaries are located in a
> directory of their own eg /usr/local/campsite/bin; this is not
> standard practise, standard would be /usr/local/bin (or /usr/bin
> in the case of a package/distro installation).
Well, many open source applications are configured by default to install in
their own directory (see apache for example): /usr/local/[app_name]. What you
see in distros: binaries located in /bin, /usr/bin etc. is because they (the
distro builders) configure the packages this way. The same with Campsite: you
can configure it to any directory you want.
> * The nature of the make.env file is such that the install location
> can not simply be overridden using make prefix=/var/www/campsite
> install, since ALL environment variables must be overridden.
> Current use of the make.env file causes difficulties in building
> an RPM. A better make.env file would take the form eg BIN_DIR =
> $(PREFIX)/bin etc. Or maybe no make.env at all, just commandline
> overrides.
I need some place to put my configuration attributes. I can certainly change
BIN_DIR to $(PREFIX)/bin instead of the fixed path but I can't give up make.env
> * An aside: must the install scripts be located in a hidden folder?
No
> * Utility scripts need should be renamed with a campsite_ prefix so
> that they are not ambiguous in the shell commandline namespace.
> Many of these will remain even after the move to the Smarty parser.
Yep, I saw the bug but don't know when I'll have time to take care of this RPM
part.
Mugur
--- John Pye wrote:
> Hi Mugur
>
> On Sava's request, I've just spent an hour or two looking at the task of
> putting together an RPM for the new campsite version, but the following
> problems are getting in the way. These are pretty similar to the earlier
> problems I had with version 2.2.2's RPM but because many files have
> changed, I can't just reapply my patch from last time without looking
> carefully at everything again.
>
> I wonder if you have any comments on the following items? I am going to
> propose that I patch against a side-branch of the CVS (SVN?) repository,
> so that my changes get saved for easy reuse in later versions. Would be
> happy with that idea? If I build an RPM now, I want not to have to go
> through all the details of these things again in the lext version.
> Several of the issues will disappear when we move to Smarty, but not all
> of them.
>
> Cheers
> JP
>
> * "make install" doesn't just install files. Current campsite "make
> install" downloads and installs third-party PEAR components, and
> uses some nonstandard environment variables.
> * Changes are required to backup_instance and related scripts to
> ensure correct behaviour when called just so from commandline
> * php-adodb is bundled with campsite but is also available as
> independent RPM. The independent RPM should be used if at all
> possible.
> * PEAR modules are downloaded by campsite installer even if a PEAR
> RPM has been correctly installed.
> * correct override of BIN_DIR with $PREFIX/bin doesn't occur, also
> it seems to be assumed that campsite binaries are located in a
> directory of their own eg /usr/local/campsite/bin; this is not
> standard practise, standard would be /usr/local/bin (or /usr/bin
> in the case of a package/distro installation).
> * The nature of the make.env file is such that the install location
> can not simply be overridden using make prefix=/var/www/campsite
> install, since ALL environment variables must be overridden.
> Current use of the make.env file causes difficulties in building
> an RPM. A better make.env file would take the form eg BIN_DIR =
> $(PREFIX)/bin etc. Or maybe no make.env at all, just commandline
> overrides.
> * An aside: must the install scripts be located in a hidden folder?
> * Utility scripts need should be renamed with a campsite_ prefix so
> that they are not ambiguous in the shell commandline namespace.
> Many of these will remain even after the move to the Smarty parser.
>
>
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
------------------------------------------
Posted to Phorum via PhorumMail