baruch / diskscan

Scan disk for bad or near failure sectors, performs disk diagnostics
GNU General Public License v3.0
108 stars 29 forks source link

Suggestion from Debian #50

Closed eribertomota closed 8 years ago

eribertomota commented 8 years ago

Hi Baruch!

I uploaded the 0.17 version to Debian today. I have a suggestion. So, please, remove these files/directories when running 'make distclean':

built/ diskscan Documentation/diskscan.1 include/arch-internal.h libdiskscan.a libscsicmd.a libscsicmd/include/ata_parse.h libscsicmd/src/smartdb/smartdb_gen.c tags

Thanks a lot.

Regards,

Eriberto

baruch commented 8 years ago

Can you check the git head? I changed the build system (again, hopefully the last time) from ninja-build to cmake and hopefully it will improve things.

eribertomota commented 8 years ago

Hi Baruch!

I don't can't build.

The problem is that Debian is using obj-x86_64-linux-gnu/libscsicmd/src directory and your cmake searches in libscsicmd/src.

Please, see the attached build log.

Thanks!

Eriberto

2015-11-03 16:22 GMT-02:00 Baruch Even notifications@github.com:

Can you check the git head? I changed the build system (again, hopefully the last time) from ninja-build to cmake and hopefully it will improve things.

— Reply to this email directly or view it on GitHub https://github.com/baruch/diskscan/issues/50#issuecomment-153444249.

baruch commented 8 years ago

I'm building on Debian as well and it works.

Do you have a branch of the debian packaging I can play with?

eribertomota commented 8 years ago

I don't use Git to package. You can use the 0.17-1 revision as a base. Change the d/rules to:

!/usr/bin/make -f

export DH_VERBOSE=1

%: dh $@

Alternatively, I uploaded a package to mentors.debian.net. Please, in this case, comment the overrides in d/rules.

http://mentors.debian.net/debian/pool/main/d/diskscan/diskscan_0.17.1-1.dsc

Eriberto

2015-11-04 18:30 GMT-02:00 Baruch Even notifications@github.com:

I'm building on Debian as well and it works.

Do you have a branch of the debian packaging I can play with?

— Reply to this email directly or view it on GitHub https://github.com/baruch/diskscan/issues/50#issuecomment-153853539.

baruch commented 8 years ago

the rules file should use: dh $@ --buildsystem=cmake --sourcedirectory=. --builddirectory=.

The dependencies can be limited to: Build-Depends: debhelper (>= 9), libncurses5-dev, cmake, python-yaml, zlib1g-dev

Let me know if it works for you.

This built for me under chroot (pdebuild) so it should be safe.

Where do you get the warning for the cleanups?

eribertomota commented 8 years ago

Hi!

2015-11-05 17:49 GMT-02:00 Baruch Even notifications@github.com:

the rules file should use: dh $@ --buildsystem=cmake --sourcedirectory=. --builddirectory=.

Thanks. CMake still being a mistery for me. But I used:

dh $@ --buildsystem=cmake --sourcedirectory=$(CURDIR) --builddirectory=$(CURDIR)

However, the current code doesn

The dependencies can be limited to: Build-Depends: debhelper (>= 9), libncurses5-dev, cmake, python-yaml, zlib1g-dev

Let me know if it works for you.

This built for me under chroot (pdebuild) so it should be safe.

Where do you get the warning for the cleanups?

— Reply to this email directly or view it on GitHub https://github.com/baruch/diskscan/issues/50#issuecomment-154170949.

baruch commented 8 years ago

So everything works for you now?

eribertomota commented 8 years ago

Hi,

Sorry for my last incomplete message.

2015-11-05 17:49 GMT-02:00 Baruch Even notifications@github.com:

the rules file should use: dh $@ --buildsystem=cmake --sourcedirectory=. --builddirectory=.

Thanks. CMake still being a mistery for me. But I used:

dh $@ --buildsystem=cmake --sourcedirectory=$(CURDIR) --builddirectory=$(CURDIR)

However, the current code doesn't builds the manpage and I got the following error:

/usr/bin/cmake -P cmake_install.cmake -- Install configuration: "None" -- Installing: /tmp/1/diskscan-0.17.1/debian/diskscan/usr/bin/diskscan CMake Error at cmake_install.cmake:52 (file): file INSTALL cannot find "/tmp/1/diskscan-0.17.1/Documentation/diskscan.1".

I tried use in a fresh source code:

cmake . && make

And the manpage wasn't generated.

The dependencies can be limited to:

Build-Depends: debhelper (>= 9), libncurses5-dev, cmake, python-yaml, zlib1g-dev

Ah, ok. I wasn't worried about it yet. Thanks!!!

Let me know if it works for you.

The package doesn't build twice. Please, remove the follwing files/directories when cleaning:

CMakeCache.txt CMakeFiles/ cmake_install.cmake libscsicmd/include/ata_parse.h libscsicmd/src/CMakeFiles/ libscsicmd/src/Makefile libscsicmd/src/cmake_install.cmake Makefile

We have a lintian:

P: diskscan source: source-contains-prebuilt-java-object hdrhistogram/ide/codestyle.jar

Thanks for your help.

Cheers,

Eriberto

eribertomota commented 8 years ago

Please, remove install_manifest.txt too.

Thanks.

2015-11-05 19:33 GMT-02:00 Eriberto eriberto@eriberto.pro.br:

Hi,

Sorry for my last incomplete message.

2015-11-05 17:49 GMT-02:00 Baruch Even notifications@github.com:

the rules file should use: dh $@ --buildsystem=cmake --sourcedirectory=. --builddirectory=.

Thanks. CMake still being a mistery for me. But I used:

dh $@ --buildsystem=cmake --sourcedirectory=$(CURDIR) --builddirectory=$(CURDIR)

However, the current code doesn't builds the manpage and I got the following error:

/usr/bin/cmake -P cmake_install.cmake -- Install configuration: "None" -- Installing: /tmp/1/diskscan-0.17.1/debian/diskscan/usr/bin/diskscan CMake Error at cmake_install.cmake:52 (file): file INSTALL cannot find "/tmp/1/diskscan-0.17.1/Documentation/diskscan.1".

I tried use in a fresh source code:

cmake . && make

And the manpage wasn't generated.

The dependencies can be limited to: Build-Depends: debhelper (>= 9), libncurses5-dev, cmake, python-yaml, zlib1g-dev

Ah, ok. I wasn't worried about it yet. Thanks!!!

Let me know if it works for you.

The package doesn't build twice. Please, remove the follwing files/directories when cleaning:

CMakeCache.txt CMakeFiles/ cmake_install.cmake libscsicmd/include/ata_parse.h libscsicmd/src/CMakeFiles/ libscsicmd/src/Makefile libscsicmd/src/cmake_install.cmake Makefile

We have a lintian:

P: diskscan source: source-contains-prebuilt-java-object hdrhistogram/ide/codestyle.jar

Thanks for your help.

Cheers,

Eriberto

baruch commented 8 years ago

I'll see how I can clean these files, most of them are generated by cmake and are needed for the build.

When I do dpkg-buildpackage or debuild twice it works with no problem. How does it break for you?

eribertomota commented 8 years ago

2015-11-05 19:44 GMT-02:00 Baruch Even notifications@github.com:

I'll see how I can clean these files, most of them are generated by cmake and are needed for the build.

When I do dpkg-buildpackage or debuild twice it works with no problem. How does it break for you?

Hum... Are you using DebSrc3.0??? To use, create the file debian/source/format and write inside format:

3.0 (quilt)

Eriberto

baruch commented 8 years ago

I took the debian directory from your work so yes, it uses this definition.

baruch commented 8 years ago

What command do you use to build?

eribertomota commented 8 years ago

debuild

2015-11-06 3:49 GMT-02:00 Baruch Even notifications@github.com:

What command do you use to build?

— Reply to this email directly or view it on GitHub https://github.com/baruch/diskscan/issues/50#issuecomment-154304302.

baruch commented 8 years ago

I tried to run debuild twice (with -uc and -us to avoid signing errors) and it just works. I pushed a debian branch to git with the files I used. Please try that and let me know if it works for you and if not please attach the full log so I can try to help as I can't reproduce the issue.

eribertomota commented 8 years ago

Really. But you aren't building. Too see this situation, after a debuild, run 'tree debian/diskscan'. You forgot to remove the overrides lines from debian/rules. ;-)

Thanks for your help.

2015-11-06 7:56 GMT-02:00 Baruch Even notifications@github.com:

I tried to run debuild twice (with -uc and -us to avoid signing errors) and it just works. I pushed a debian branch to git with the files I used. Please try that and let me know if it works for you and if not please attach the full log so I can try to help as I can't reproduce the issue.

— Reply to this email directly or view it on GitHub https://github.com/baruch/diskscan/issues/50#issuecomment-154367390.

eribertomota commented 8 years ago

Please, see it too[1].

[1] http://eriberto.pro.br/blog/?p=1289

2015-11-06 8:17 GMT-02:00 Eriberto eriberto@eriberto.pro.br:

Really. But you aren't building. Too see this situation, after a debuild, run 'tree debian/diskscan'. You forgot to remove the overrides lines from debian/rules. ;-)

Thanks for your help.

2015-11-06 7:56 GMT-02:00 Baruch Even notifications@github.com:

I tried to run debuild twice (with -uc and -us to avoid signing errors) and it just works. I pushed a debian branch to git with the files I used. Please try that and let me know if it works for you and if not please attach the full log so I can try to help as I can't reproduce the issue.

— Reply to this email directly or view it on GitHub https://github.com/baruch/diskscan/issues/50#issuecomment-154367390.

baruch commented 8 years ago

Indeed. I removed the overrides in the rules and now it builds once and fails the second time. Will work on it.

baruch commented 8 years ago

I've started to fix up the cmake build to make it work better in Debian. This will apparently be a bit larger than I previously thought. This might get delayed then since I wont be able to work on it next week.

eribertomota commented 8 years ago

No problem Baruch. I will wait for you.

Cheers,

Eriberto

2015-11-06 12:06 GMT-02:00 Baruch Even notifications@github.com:

I've started to fix up the cmake build to make it work better in Debian. This will apparently be a bit larger than I previously thought. This might get delayed then since I wont be able to work on it next week.

— Reply to this email directly or view it on GitHub https://github.com/baruch/diskscan/issues/50#issuecomment-154417518.

baruch commented 8 years ago

Looks like I managed to get it to build now, will need to cleanup the debian branch to merge it nicely into master.

I will not release anything in the coming week anyway but if someone needs to build diskscan cleanly in a debian package the debian branch is the way to go.

baruch commented 8 years ago

OK. The new version is in master branch, build it when you can to verify that the debian build now works fine. You can refer to the debian branch to see how I built it.

baruch commented 8 years ago

@eribertomota, can you please check if git head now works for you to build the debian package with no issues?

eribertomota commented 8 years ago

Hi Baruch,

I used the current master.zip file.

The problem is that the debian/clean was removing some files. Currently, the following files and directories should be removed after a debclean (make distclean):

CMakeFiles/ Makefile CMakeCache.txt Documentation/diskscan.1 cmake_install.cmake install_manifest.txt libscsicmd/src/CMakeFiles/ libscsicmd/src/Makefile libscsicmd/src/cmake_install.cmake

Also, this lintian notice remains active:

diskscan source: source-contains-prebuilt-java-object hdrhistogram/ide/codestyle.jar

My current (updated, without d/clean) package is available at

http://mentors.debian.net/package/diskscan

Or via dget:

dget -u http://mentors.debian.net/debian/pool/main/d/diskscan/diskscan_0.17.2-1.dsc

Regards,

Eriberto

2015-11-12 8:04 GMT-02:00 Baruch Even notifications@github.com:

@eribertomota https://github.com/eribertomota, can you please check if git head now works for you to build the debian package with no issues?

— Reply to this email directly or view it on GitHub https://github.com/baruch/diskscan/issues/50#issuecomment-156055998.

baruch commented 8 years ago

cmake doesn't have a distclean so the clean file will need to be maintained.

The jar file is coming from hdrhistogram and I prefer to leave it in to reduce costs of later merges whenever I update it.

I'll tag 0.18 now.

eribertomota commented 8 years ago

Can you add a clean.sh to remove these files? I can call it. What you think about this? I can wait a next release. If you want, I can send a script (neutral, not specific to Bash, but Dash).

Thanks a lot for your nice work.

Regards,

Eriberto

2015-11-13 11:18 GMT-02:00 Baruch Even notifications@github.com:

cmake doesn't have a distclean so the clean file will need to be maintained.

The jar file is coming from hdrhistogram and I prefer to leave it in to reduce costs of later merges whenever I update it.

I'll tag 0.18 now.

— Reply to this email directly or view it on GitHub https://github.com/baruch/diskscan/issues/50#issuecomment-156429658.

baruch commented 8 years ago

If you can provide a shell script called distclean.sh I will include it in the next version.