Bug#793076: Support for PHP PEAR, PECL and Composer packages

2015-08-01 Thread Osamu Aoki
Hi,

Thanks for your code.

 I've prepared a patch to add support for PEAR and PECL packages.

I see.  This is for packaging PHP ecosystem packages written in PHP and
other languages which I have almost no idea :-)
 
 I couldn't get the following to work:
 - binary deps are skipped (and reverted to Depends: ${misc:Depends},
   ${shlibs:Depends})

I think their data are generated in debs.py.

You are trying to add recommend and suggests and break support.
+elif t == 'phppear': # dh_phppear
+dp.update({'${phppear:Debian-Depends}'})
+rec.update({'${phppear:Debian-Recommends}'})
+sug.update({'${phppear:Debian-Suggests}'})
+br.update({'${phppear:Debian-Breaks}'})

These look very interesting since debmake does minimal work.

But the following code looks odd.
 ',\n\t'.join(deb['depends']),
+recommends,
+suggests,
+breaks,

I wonder why you are not coding these 3 additions in the same way as
',\n\t'.join(deb['depends']),

 - How to pass arch?

I think their data are generated in debs.py.

If you can identify bin package type: 
PEAR a = 'all'
PECL a = 'any'

I need to think again but if you can detect PECL before debs.py,

Something along ...
+elif match_prefix(t, 'phppecl'): # PHP PECL
+a = 'any'
+m = 'same'
+t = 'phppecl'
+elif match_prefix(t, 'phppear'): # PHP PEAR
+a = 'all
+m = 'foreign'
+t = 'phppear'

Quite frankly, I did not take care similar situation for Python, Perl,
... and left them all arch all.  I was not even sure how to detect such
case reliably.

 - Vcs-* fields are not in control field (even commented out)

in control.py
 guess_vcsvcs(vcsvcs)
 guess_vcsbrowser(vcsbrowser)
These set values

Your idea of having option to set them may be good idea.

If you update these and settles, we need debmake-doc updated too to get
the proper manpage and documentation.

Please note development is on devel branch.

 Once I understand this, I will also add Composer support.
 
 NB: some other things that we know with those kind of packages:
 - Maintainer/Uploaders field
 - (sometimes) Home page

Currently we are not forcing group maintenance as default.
That may be good idea to use such as default.

 - (sometimes) upstream tarball (debian/watch)

Currently, we copy
extra1/watch

Adding @WATCHLINE@ and setting that value via substlist in debian.py if needed
may be good idea.

extra1/watch: (NOW)
# You must remove unused comment lines for the released package.
###
### watch control file for uscan
###  
### See uscan(1) for how to set this file properly
...

extra1/watch: (UPDATED)
# You must remove unused comment lines for the released package.
@WATCHLINE@
###
### watch control file for uscan
###  
### See uscan(1) for how to set this file properly
...

I still have not tested your code but made very quick view on it.

I hope my initial response helps you.

Osamu


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#793076: Support for PHP PEAR, PECL and Composer packages

2015-07-20 Thread Mathieu Parent
Package: debmake
Version: 4.2.1-1
Severity: wishlist

Hello,

I've prepared a patch to add support for PEAR and PECL packages.

I couldn't get the following to work:
- binary deps are skipped (and reverted to Depends: ${misc:Depends},
  ${shlibs:Depends})
- How to pass arch?
- Vcs-* fields are not in control field (even commented out)

Once I understand this, I will also add Composer support.

NB: some other things that we know with thoses kind of pakages:
- Maintainer/Uploaders field
- (sometimes) Home page
- (sometimes) upstream tarball (debian/watch)

Regards

Mathieu Parent

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages debmake depends on:
ii  devscripts   2.15.5
ii  dpkg-dev 1.18.1
ii  python3  3.4.3-4
pn  python3:any  none
ii  rsync3.1.1-3

Versions of packages debmake recommends:
ii  build-essential  11.7
ii  curl 7.43.0-1
ii  strace   4.9-2
ii  wget 1.16.3-3

Versions of packages debmake suggests:
ii  autotools-dev 20140911.1
pn  ccachenone
ii  cmake 3.2.2-2
ii  cowbuilder0.73
ii  dh-autoreconf 10
ii  dh-python 1.20150705-1
ii  eatmydata 82-6
pn  gem2deb   none
ii  git   1:2.1.4-2.1
ii  git-buildpackage  0.6.32
pn  gitk  none
pn  javahelpernone
ii  lintian   2.5.33
pn  mcnone
ii  pbuilder  0.215+nmu4
pn  quilt none
ii  rpm2cpio  4.12.0.1+dfsg1-3

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org