Bug#663101: review of the upstream foreman debian package

2014-05-01 Thread Greg Sutcliffe
Hi Antoine

Firstly, apologies for the slow reply - I've been on vacation, and
catching up with work :)

I'm really happy to discuss getting Foreman (and it's other packages,
such as the proxy and the installer) into Debian - that would be
fantastic.

My replies to your questions, and my own thoughts, are in-line...

On 17 April 2014 01:44, Antoine Beaupré anar...@debian.org wrote:
 First off, the foreman-installer completely overwrites existing apache
 configuration files, which is contrary to Debian Policy, c. 7.6.1:

The installer makes no changes to anything when the package is installed:

# dpkg -L foreman-installer | grep /etc/apache2 | wc -l
0

It also has no postinst or preinst scripts which could modify Apache
configuration.

Changes to the Apache configuration only happen when the installer is
executed by the user (which is intended, since Foreman's default
configuration is to use Apache).

 Also, apt-get install foreman just fails:

I can't reproduce this I'm afraid. On a fresh Wheezy box:

root@wheezy934:~# apt-get install foreman
snip
The following NEW packages will be installed:
  binutils build-essential bundler cpp cpp-4.7 dpkg-dev fakeroot
foreman foreman-proxy g++ g++-4.7 gcc gcc-4.7
  libalgorithm-diff-perl libalgorithm-diff-xs-perl
libalgorithm-merge-perl libc-dev-bin libc6-dev libdpkg-perl
  libfile-fcntllock-perl libgomp1 libgssrpc4 libitm1 libkadm5clnt-mit8
libmpc2 libmpfr4 libquadmath0
  libstdc++6-4.7-dev libtimedate-perl linux-libc-dev make manpages-dev
patch rake ruby-dev ruby-rack
  ruby-rack-protection ruby-rkerberos ruby-sinatra ruby-tilt
ruby1.9.1-dev rubygems-integration unzip zip
snip
Fetched 76.0 MB in 43s (1,750 kB/s)
snip
Setting up foreman (-wheezy+scratchbuild+201405011056) ...
foreman not configured to start. Please edit /etc/default/foreman to enable.

Seems fine. This was using our nightly repo, but the same successful
result is obtained with the 1.4.x packages.

 Also, the underlying packages do not seem to cleanup properly after
 themselves:

 root@puppet0:/etc# apt-get purge foreman-postgresql foreman

Testing this, it seems the Gemfile.lock is being left behind. I've
filed a bug[1] on the Foreman tracker to address this.

 ... which basically means it will totally fail to install on wheezy,
 which still has rails 2.3.

 There is a lot of work to do.
 There's probably way more stuff i'm missing here.

I've put these 3 comments together, because (in my opinion) this is
the largest problem in getting Foreman upstream. Currently there are
approximately 140 gems vendored in ~foreman/vendor/cache (including
Rails 3.2.17). Every single one of these would need to become a new
package in order to satisfy Debian's Ruby Packaging guidelines (as I
understand it), and I do not have time to do this (which is why they
are vendored).

This problem is compounded by versioning problems with popular gems
(such as Rails) - Foreman currently *requires* at least Rails 3.2.8,
and is likely to move to Rails 4 soon. Many other gem dependencies
move very quickly (often for security patches) so we'd need to make
sure we were being repsonsive to that, as well.

Until we have a clear plan of how to handle these gem dependencies,
getting the Foreman package itself upstream seems impossible (unless I
misunderstood, and Debian policy does indeed permit vendoring of gems)

 Having it installable on a simple wheezy environment would be a start. I
 also strongly encourage you to run the package through lintian to make
 sure it's properly built.

As demonstrated above, the packages are installable. Without further
debugging, I can't speculate on why you hit the Rails version issue,
but that's the first time I've seen that error - and the wheezy
packages are well tested.

I've checked lintian and there's nothing massively serious, mostly a
few ruby-script-but-no-ruby-dep errors which can probably be easily
fixed at some point.

 Looking forward to see Foreman in Debian...
Likewise, if we can figure out what to do with the gems :) I'm always
available on Freenode if you want to discuss in real-time (nick:
gwmngilfen, channels: #theforeman, #theforeman-dev)

Regards,
Greg

[1] http://projects.theforeman.org/issues/5539


--
To UNSUBSCRIBE, email to debian-wnpp-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/CAE=3ysb9zpry0rgbow2q7cnevvwpjv_cgxmde7dtppwyada...@mail.gmail.com



Bug#663101: review of the upstream foreman debian package

2014-04-17 Thread Greg Sutcliffe
Hi Antoine,

I'm on vacation at the moment - I'll go through your email next week. Would
you mind if I cc'ed our dev mailing list? I see no reason not to...

Thanks
Greg


Bug#663101: review of the upstream foreman debian package

2014-04-17 Thread Antoine Beaupré
On 2014-04-17 07:52:05, Greg Sutcliffe wrote:
 Hi Antoine,

 I'm on vacation at the moment - I'll go through your email next week. Would
 you mind if I cc'ed our dev mailing list? I see no reason not to...

I don't see why not.

A.

-- 
Marijuana grows naturally on the planet.
Mushrooms grows naturally on the planet.
Don't you think making nature against the law is a bit... unnatural?
- Bill Hicks


pgpN2i5iAA91r.pgp
Description: PGP signature


Bug#663101: review of the upstream foreman debian package

2014-04-16 Thread Antoine Beaupré
Hi,

I have tried the debian packages for foreman to consider inclusion in
Debian.

There is a lot of work to do.

First off, the foreman-installer completely overwrites existing apache
configuration files, which is contrary to Debian Policy, c. 7.6.1:

http://www.debian.org/doc/debian-policy/ch-relationships.html#s7.6.1

Also, the underlying packages do not seem to cleanup properly after
themselves:

root@puppet0:/etc# apt-get purge foreman-postgresql foreman
foreman-mysql2
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus 
nécessaires :
  ruby-ansi ruby-clamp ruby-hashie ruby-kafo ruby-little-plugger
  ruby-logging ruby-multi-json ruby-powerbar ruby-rdoc
Veuillez utiliser « apt-get autoremove » pour les supprimer.
Les paquets suivants seront ENLEVÉS :
  foreman* foreman-mysql2* foreman-postgresql*
0 mis à jour, 0 nouvellement installés, 3 à enlever et 0 non mis à jour.
3 partiellement installés ou enlevés.
Après cette opération, 46,5 Mo d'espace disque seront libérés.
Souhaitez-vous continuer [O/n] ?
(Lecture de la base de données... 46384 fichiers et répertoires déjàinstallés.)
Suppression de foreman-postgresql ...
Purge des fichiers de configuration de foreman-postgresql ...
Suppression de foreman-mysql2 ...
Purge des fichiers de configuration de foreman-mysql2 ...
Suppression de foreman ...
Purge des fichiers de configuration de foreman ...
dpkg : avertissement : lors de la suppression de foreman, le répertoire « 
/usr/share/foreman » n'était pas vide, donc il n'a pas été supprimé

pardon my french, but the last line says it can't remove the directory
because it's not empty. this is a violation of 

Also, apt-get install foreman just fails:

Setting up foreman (1.4.2-1) ...
dpkg: error processing foreman (--configure):
 subprocess installed post-installation script returned error exit
 status 7
Errors were encountered while processing:
 foreman
E: Sub-process /usr/bin/dpkg returned an error code (1)

Enabling debugging shows me:

/usr/sbin/foreman-rake db:migrate
You have requested:
  rails = 3.2.17

The bundle currently has rails locked at 3.2.13.
Try running `bundle update rails`
Run `bundle install` to install missing gems.

... which basically means it will totally fail to install on wheezy,
which still has rails 2.3.

There's probably way more stuff i'm missing here.

In this condition, it is quite unlikely that foreman can get in debian
at all.

Having it installable on a simple wheezy environment would be a start. I
also strongly encourage you to run the package through lintian to make
sure it's properly built.

Looking forward to see Foreman in Debian...

a.

-- 
Men often become what they believe themselves to be. If I believe I
cannot do something, it makes me incapable of doing it. But when I
believe I can, then I acquire the ability to do it even if I didn't
have it in the beginning.
 - Mahatma Gandhi


pgpTwy3YORN4m.pgp
Description: PGP signature