ltb-project / openldap-deb

Debian packages for OpenLDAP
http://ltb-project.org/wiki/documentation/openldap-deb
GNU General Public License v3.0
14 stars 13 forks source link

compilation of berkeleydb-ltb packages fails on clean task #25

Closed coudot closed 5 years ago

coudot commented 5 years ago

Hello,

I tried to compile berkeleydb-ltb package on Ubuntu 18.04, and I get his:

clement@kptn-ubuntu-18-04:~/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC$ dpkg-buildpackage -us -uc
dpkg-buildpackage: info: source package berkeleydb-ltb
dpkg-buildpackage: info: source version 4.6.21.NC-4-patch4
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by David Coutadeur <dcoutadeur@linagora.com>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build berkeleydb-ltb-4.6.21.NC
 fakeroot debian/rules clean
dh clean 
dh: Compatibility levels before 9 are deprecated (level 7 in use)
   debian/rules override_dh_clean
make[1]: Entering directory '/home/clement/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC'
cd build_unix && make clean
make[2]: Entering directory '/home/clement/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC/build_unix'
make[2]: *** No rule to make target 'clean'.  Stop.
make[2]: Leaving directory '/home/clement/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC/build_unix'
debian/rules:24: recipe for target 'override_dh_clean' failed
make[1]: *** [override_dh_clean] Error 2
make[1]: Leaving directory '/home/clement/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC'
debian/rules:21: recipe for target 'clean' failed
make: *** [clean] Error 2
dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit status 2
davidcoutadeur commented 5 years ago

Thanks for the report. I will give a look. Honestly, I do not repackage berkeleydb-ltb for a while.

For letting you go ahead, maybe could you launch this task:

debian/rules build

Just before your command?

For my record:

Ubuntu 18.04  bionic <-> Debian buster  / sid  - 10
coudot commented 5 years ago

Indeed it works when I use:

debian/rules build
sudo debian/rules binary

But then:

clement@kptn-ubuntu-18-04:~/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC$ sudo dpkg-buildpackage -us -uc
dpkg-buildpackage: info: source package berkeleydb-ltb
dpkg-buildpackage: info: source version 4.6.21.NC-4-patch4
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by David Coutadeur <dcoutadeur@linagora.com>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build berkeleydb-ltb-4.6.21.NC
 debian/rules clean
dh clean 
dh: Compatibility levels before 9 are deprecated (level 7 in use)
   debian/rules override_dh_clean
make[1]: Entering directory '/home/clement/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC'
cd build_unix && make clean
make[2]: Entering directory '/home/clement/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC/build_unix'
rm -rf mut_tas.lo mut_pthread.lo  bt_compare.lo bt_conv.lo bt_curadj.lo bt_cursor.lo bt_delete.lo bt_method.lo bt_open.lo bt_put.lo bt_rec.lo bt_reclaim.lo bt_recno.lo bt_rsearch.lo bt_search.lo bt_split.lo bt_stat.lo bt_compact.lo bt_upgrade.lo btree_auto.lo hash.lo hash_auto.lo hash_conv.lo hash_dup.lo hash_meta.lo hash_method.lo hash_open.lo hash_page.lo hash_rec.lo hash_reclaim.lo hash_stat.lo hash_upgrade.lo hash_verify.lo qam.lo qam_auto.lo qam_conv.lo qam_files.lo qam_method.lo qam_open.lo qam_rec.lo qam_stat.lo qam_upgrade.lo qam_verify.lo rep_auto.lo rep_backup.lo rep_elect.lo rep_lease.lo rep_log.lo rep_method.lo rep_record.lo rep_region.lo rep_stat.lo rep_util.lo rep_verify.lo getaddrinfo.lo repmgr_elect.lo repmgr_method.lo repmgr_msg.lo repmgr_net.lo repmgr_posix.lo repmgr_queue.lo repmgr_sel.lo repmgr_stat.lo repmgr_util.lo db_ovfl_vrfy.lo db_vrfy.lo db_vrfyutil.lo bt_verify.lo lock.lo lock_deadlock.lo lock_failchk.lo lock_id.lo lock_list.lo lock_method.lo lock_region.lo lock_stat.lo lock_timer.lo lock_util.lo mut_alloc.lo mut_failchk.lo mut_method.lo mut_region.lo mut_stat.lo  crypto_stub.lo crdel_auto.lo crdel_rec.lo ctime.lo db.lo db_am.lo db_auto.lo db_byteorder.lo db_cam.lo db_cds.lo db_conv.lo db_dispatch.lo db_dup.lo db_err.lo db_getlong.lo db_idspace.lo db_iface.lo db_join.lo db_log2.lo db_meta.lo db_method.lo db_open.lo db_overflow.lo db_pr.lo db_rec.lo db_reclaim.lo db_remove.lo db_rename.lo db_ret.lo db_setid.lo db_setlsn.lo db_shash.lo db_stati.lo db_truncate.lo db_upg.lo db_upg_opd.lo dbm.lo dbreg.lo dbreg_auto.lo dbreg_rec.lo dbreg_stat.lo dbreg_util.lo env_alloc.lo env_config.lo env_failchk.lo env_file.lo env_globals.lo env_method.lo env_name.lo env_open.lo env_recover.lo env_region.lo env_register.lo env_stat.lo fileops_auto.lo fop_basic.lo fop_rec.lo fop_util.lo hash_func.lo hmac.lo hsearch.lo log.lo log_archive.lo log_compare.lo log_debug.lo log_get.lo log_method.lo log_put.lo log_stat.lo mkpath.lo mp_alloc.lo mp_bh.lo mp_fget.lo mp_fmethod.lo mp_fopen.lo mp_fput.lo mp_fset.lo mp_method.lo mp_mvcc.lo mp_region.lo mp_register.lo mp_resize.lo mp_stat.lo mp_sync.lo mp_trickle.lo os_abort.lo os_abs.lo os_alloc.lo os_clock.lo os_config.lo os_dir.lo os_errno.lo os_fid.lo os_flock.lo os_fsync.lo os_fzero.lo os_getenv.lo os_handle.lo os_map.lo os_method.lo os_mkdir.lo os_oflags.lo os_open.lo os_pid.lo os_region.lo os_rename.lo os_root.lo os_rpath.lo os_rw.lo os_seek.lo os_sleep.lo os_spin.lo os_stat.lo os_tmpdir.lo os_truncate.lo os_uid.lo os_unlink.lo os_yield.lo seq_stat.lo sequence.lo sha1.lo snprintf.lo txn.lo txn_auto.lo txn_chkpt.lo txn_failchk.lo txn_method.lo txn_rec.lo txn_recover.lo txn_region.lo txn_stat.lo txn_util.lo xa.lo xa_db.lo xa_map.lo
rm -rf cxx_db.lo cxx_dbc.lo cxx_dbt.lo cxx_env.lo cxx_except.lo cxx_lock.lo cxx_logc.lo cxx_mpool.lo cxx_multi.lo cxx_seq.lo cxx_txn.lo db_java_wrap.lo tcl_compat.lo tcl_db.lo tcl_db_pkg.lo tcl_dbcursor.lo tcl_env.lo tcl_internal.lo tcl_lock.lo tcl_log.lo tcl_mp.lo tcl_rep.lo tcl_seq.lo tcl_txn.lo tcl_util.lo
rm -rf client.lo db_server_clnt.lo db_server_xdr.lo gen_client.lo gen_client_ret.lo db_server_proc.lo db_server_svc.lo db_server_util.lo gen_db_server.lo db_server_cxxproc.lo db_server_cxxutil.lo db_server_svc.lo gen_db_server.lo
rm -rf db_archive db_checkpoint db_codegen db_deadlock db_dump db_hotbackup db_load db_printlog db_recover db_stat db_upgrade db_verify *.exe TxnGuide TxnGuideInMemory bench_001 berkeley_db_cxxsvc berkeley_db_svc db_dump185 db_perf db_reptest dbs ex_access ex_apprec ex_btrec ex_dbclient ex_env ex_lock ex_mpool ex_rep_base ex_rep_mgr ex_sequence ex_thread ex_tpcb example_database_load example_database_read excxx_access excxx_btrec excxx_env excxx_example_database_load excxx_example_database_read excxx_lock excxx_mpool excxx_repquote excxx_sequence excxx_tpcb txn_guide txn_guide_inmemory
rm -rf ./classes ./classes.ex
rm -rf tags *.lo *.o *.o.lock *.lo core *.core core.*
rm -rf ALL.OUT.* PARALLEL_TESTDIR.*
rm -rf RUN_LOG RUNQUEUE TESTDIR TESTDIR.A TEST.LIST
rm -rf logtrack_seen.db test_mutex .libs libdb.a libdb-4.6.so libdb.so libdb-4.so libdb-4.6.a libdb-4.6.la libdb_cxx.a libdb_cxx-4.6.so libdb_cxx.so libdb_cxx-4.so libdb_cxx-4.6.a libdb_cxx-4.6.la libdb_tcl-4.6.so libdb_tcl.so libdb_tcl-4.so libdb_tcl-4.6.a libdb_tcl-4.6.la libdb_java-4.6.so libdb_java.so libdb_java-4.6_g.so libdb_java-4.so libdb_java-4.6.a libdb_java-4.6.la dbexamples.jar db.jar
make[2]: Leaving directory '/home/clement/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC/build_unix'
dh_clean
        rm -f debian/debhelper-build-stamp
        rm -rf debian/.debhelper/
dh_clean: Compatibility levels before 9 are deprecated (level 7 in use)
        rm -f -- debian/berkeleydb-ltb.substvars debian/files
        rm -fr -- debian/berkeleydb-ltb/ debian/tmp/
        find .  \( \( \
                \( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \
                \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \
                 -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \
                 -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \
                 -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \
                \) -exec rm -f {} + \) -o \
                \( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \) \)
make[1]: Leaving directory '/home/clement/paquet-berkeleydb-debian/berkeleydb-ltb-4.6.21.NC'
 dpkg-source -b berkeleydb-ltb-4.6.21.NC
dpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../berkeleydb-ltb_4.6.21.NC-4.orig.tar.{bz2,gz,lzma,xz}
dpkg-buildpackage: error: dpkg-source -b berkeleydb-ltb-4.6.21.NC subprocess returned exit status 255
davidcoutadeur commented 5 years ago

I think that's because I didn't really take care about creating a source package for berkeleydb. You can do it if you simply create a file berkeleydb-ltb_4.6.21.NC-4.orig.tar.gz from original berkeleydb archive. Or you can just run basic targets:

debian/rules clean
debian/rules clean
debian/rules clean

I suggest you read paquet-openldap-debian/packaging_debian.README which provides good tips about these compiling problems.

I suppose we could also correct these two problems, but as berkeleydb is going to be deprecated soon, I don't know if it's really useful.

davidcoutadeur commented 5 years ago

For the first problem, could you try editing: berkeleydb-ltb-4.6.21.NC/debian/rules

From this:

override_dh_clean:
        cd build_unix && make clean
        dh_clean

to this:

override_dh_clean:
        cd build_unix && make clean || echo
        dh_clean || echo

For making sure function clean never fails. For info, I have tested on my debian 10, but it never seems to fail.

davidcoutadeur commented 5 years ago

@coudot do you still have problems about this issue?

coudot commented 5 years ago

I did not retry but I think your patch should be applied (add echo at end of line)

davidcoutadeur commented 5 years ago

Done you need to test if it really fix the bug.

davidcoutadeur commented 5 years ago

I assume this is solved by 0c64600d8e437bbfcb80a581813cc9466c658900

davidcoutadeur commented 5 years ago

Supposed done in https://github.com/ltb-project/openldap-deb/releases/tag/v2.4.48