Re: Trying to disable error=format-security for clapack
On 05/16/2016 06:25 PM, Andreas Tille wrote: > > Would you mind commiting to Git what was building for you? > Hi Andreas, I would love to, but I doubt it's possible. I tried something along the lines of "ulimit -s unlimited && dh_auto_test" as an override_dh_auto_test, but depending on the environment (local vs. cowbuilder vs. sbuild) this ulimit call would fail with "Operation not permitted". In case of cowbuilder or sbuild, it only works if I unlimited from the shell I started the builder with, so putting any command inside the debian/ wouldn't do anything. The important question is if a stack-size-limit is active on the buildds or maybe they're already unlimited. I would suggest packing as-is (only with the const-pointer change) and uploading to a debomatic, since I think they're very close to the official buildds. If it actually fails, I'd suggest coordinating with buildd-admins to figure out the best way to communicate this requirement. The tests don't actually need much memory, they just have a very unusual stack-to-heap ratio. Cheers, - Danny signature.asc Description: OpenPGP digital signature
Re: Trying to disable error=format-security for clapack
On 05/16/2016 01:50 PM, Danny Edel wrote: > If you change it to "const char* const", the compiler is assured it's > never going to point to anything else and does not emit the warning. Sorry for replying to my own email, but after compiling, the test suite crashed on the xeigtstz_* with Segmentation Fault errors. I debugged this a little bit and the reason was these tests use a lot of local (i.e. stack) variables -- so many in fact that they trigger a stack overflow on entry. Disabling stack size limit (mine was 8192 KB) with ulimit -s unlimited before calling dpkg-buildpackage fixed things for me. I hope this avoids someone the half hour I spent in gdb searching for a bug that probably isn't there. - Danny signature.asc Description: OpenPGP digital signature
Re: Trying to disable error=format-security for clapack
On 05/16/2016 11:07 AM, Andreas Tille wrote: > /build/clapack-3.2.1/F2CLIBS/libf2c/arithchk.c:125:2: error: format not a > string literal and no format arguments [-Werror=format-security] > Cray1 = printf(emptyfmt) < 0 ? 0 : 4617762; Hi Andreas, you should have success with changing the type (insted of the value) of emptyfmt, rather than disabling any warnings. Right now it's "char *", which is legal C, but problematic, since character literals are not allowed to be written to anyway and might even be placed in read-only memory[1]. Just the type "readwrite pointer to readwrite character" probably triggers the warning. If you change it to "const char* const", the compiler is assured it's never going to point to anything else and does not emit the warning. Cheers, - Danny [1]: http://en.cppreference.com/w/c/language/string_literal --- a/F2CLIBS/libf2c/arithchk.c +++ b/F2CLIBS/libf2c/arithchk.c @@ -110,7 +110,7 @@ return 0; } -char *emptyfmt = ""; /* avoid possible warning message with printf("") */ +const char * const emptyfmt = ""; /* avoid possible warning message with printf("") */ static Akind * ccheck(void) signature.asc Description: OpenPGP digital signature
Re: Uniqueness of .deb versions/filenames over distributions
On 02/27/2016 04:05 PM, Tim Landscheidt wrote: > http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.html#GBP.BRANCH.NAMING > recommends using different Git branches for jessie, stretch, > etc., but I fear that such a layout could easily cause them > to go out of sync as it puts the burden on the committer to > repeat his changes on another branch. Hi Tim, Just to add on that, since I discovered it more by chance myself: Using dpkg-mergechangelogs from dpkg-dev package, keeping those branches in sync becomes really trivial. Just activate it (see manpage) and feeding the changes from master into backports becomes as simple as: git checkout jessie-backports git merge master dch --bpo And to the original question: >From my understanding, within Debian you can assume that package_0.1_amd64.deb is the binary created in sid when it was initially uploaded. Any new upload (even a binary-only) will add something to the version number. So within Debian, same filename means same contents. Note that Ubuntu will copy the source and if I remember correctly recompile it into their current development snapshot *without* adding something to the version number. So the Debian and Ubuntu binary will have the same filename, but possibly different contents, depending on the toolchain. If the linked binary libs have different ABIs, you're running into undefined behaviour if you would try to execute a binary compiled against sid under precise. Due to the way Ubuntu changes their GCC version at a different schedule than Debian, this is more likely than you might think. It is most likely safe to assume that other Debian-based distributions do a recompiliation without changing the filename too. tl,dr: As soon as we're talking about multiple Distributions (Debian vs Ubuntu being the most common example), assume same file means different contents. *Within* one distribution (Debian jessie vs. stretch, or Ubuntu precise vs. trusty), same filename will mean same contents. If you want to avoid yourself some hassle, either only upload to debian/sid, and ask an Ubuntu dev to auto-sync your package into the current ubuntu development version, or keep multiple branches for multiple distributions and treat them all as backports of sid. Note your sources won't be 100% identical (think of the first line in d/changelog, it contains the suite name), so keeping the (even small) diff's in version control is not necessarily a bad thing. If you treat precise the same as jessie-backports, your workflow will produce a d/changelog similar to the following: package (1.0~precise1) precise * Port to precise * No source changes -- Yourname Timestamp package (1.0) unstable * What changed in 1.0 -- Yourname Timestamp package (0.9~precise1) precise * Port to precise * changed d/rules to be compatible with older dpkg-dev -- Yourname Timestamp Using the above git commands, maintaining them only costs you seconds, but to the user of your package it's clear that active development occurs on Debian unstable and is then ported to precise. And since you have it all in git, the "changed d/rules" will get correctly merged and/or trigger a merge conflict, alerting you to the issue. Hope this helps a little, - Danny
Is there a "deb bisect" to figure out when exactly a build broke?
Hi Mentors, I am maintaining the dspdfviewer package in Debian and it now fails to build (testsuite fails) on big-endian arches on sid, bug #816081. The same source compiles against an older release (jessie) just fine, so I think this is a regression in some™ package in the dependency chain. In order to figure out which package to file a bug against, I'll obviously have to try building against sid from various points in time, using snapshots.debian.org. So my question is: Is there any automated tool for the process? Ideally, I would pass it my .dsc, seed it with "It worked at date xyz, it does not work now" and leave it running for a few days, similar to how a "git bisect" works, and it would output the information * Last good sid snapshot $gooddate * First bad sid snapshot $baddate * Bonus points: Diff of the depchain between $gooddate and $baddate If there is no such tool available, I'd start my debugging session by writing one up, but I'd obviously like to avoid duplicate work (Just because I havn't found one doesn't mean there is none) Thank you all, - Danny
Re: Bug#777791: ball: ftbfs with GCC-5
Hello Andreas, hello list(s), I tried to reproduce this build failure on a current sid and investigate a bit. On my machine it outputs the same basic error messages (although the line numbers in the basic_string template file are a bit different). I try to quote the error message partially so it becomes a bit clearer what is really going on: On 01/07/2016 01:12 PM, Andreas Tille wrote: > /build/ball-1.4.3~beta1/include/BALL/DATATYPE/string.iC: In member function > 'BALL::String& BALL::String::insert(BALL::String::const_iterator, > std::initializer_list)': > /build/ball-1.4.3~beta1/include/BALL/DATATYPE/string.iC:1379:19: error: no > matching function for call to > 'std::__cxx11::basic_string::insert(BALL::String::const_iterator&, > std::initializer_list&)' > str_.insert(p, li); >^ (...) Info: BALL::String::const_iterator is a typedef for std::string::const_iterator > /usr/include/c++/5/bits/basic_string.h:1308:7: note: candidate: void > std::__cxx11::basic_string<_CharT, _Traits, > _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, > _Alloc>::iterator, std:: initializer_list<_Tp>) [with _CharT = > char; _Traits = std::char_traits; _Alloc = std::allocator; > std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = > __gnu_cxx::__normal_iterator; > typename __gnu_cxx::__alloc_traits __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*] >insert(iterator __p, initializer_list<_CharT> __l) >^ > /usr/include/c++/5/bits/basic_string.h:1308:7: note: no known conversion > for argument 1 from 'BALL::String::const_iterator {aka > __gnu_cxx::__normal_iterator > >}' to 'std::__cxx11::basic_string::iterator {aka > __gnu_cxx::__normal_iterator }' In essence this says: (1) No matching function for string::insert(string::const_iterator, initializer_list), because (when trying the correct overload), (2) Cannot convert from string::const_iterator to string::iterator Which raises the question: Why does the compiler try to convert to a non-const-iterator in the first place? According to both cplusplus.com[1] and cppreference.com[2] the insert function with an initializer_list as second parameter should take a *const_*iterator directly. I have condensed this into a simple test case (see attached string.cc) and for me, this testcase fails in the same way as ball when called with GCC. Try it like this: g++ -std=c++11 string.cc -o string && ./string (long error message) Now, with clang++ this fails too: clang++ -std=c++11 string.cc -o string && ./string (a bit shorter error message, but essentially the same) However, if I try the example using clang's STL implementation (from debian package libc++-dev) it builds *and runs* as expected: clang++ -std=c++11 -stdlib=libc++ string.cc -o string && ./string (outputs "Some new string") I am not sure how to continue from here - this might be a bug in clang's or gcc's std::string implementation, unportable usage from upstream, or any number of other things. If you have access to other compilers, it may help to test the snippet on them too and report the results. For reference: $ g++ -dumpversion 5.3.1 -> Does not compile, cannot convert const_iterator->iterator -> libstdc++-5-dev 5.3.1-5 $ clang++ -dumpversion 4.2.1 -> Does not compile with default/gcc STL implementation -> Compiles and runs with libc++-dev 3.7.0-1 I hope this helps in resolving this, or at least in figuring out *where* the issue actually is located. - Danny [1]: http://www.cplusplus.com/reference/string/string/insert/ [2]: http://en.cppreference.com/w/cpp/string/basic_string/insert #include #include using namespace std; int main(){ string s = "Somestring"; string::const_iterator ci = s.cbegin()+4; initializer_list il = { ' ', 'n', 'e', 'w' , ' ' }; s.insert(ci, il); cout << s << endl; return 0; }
Re: Uploaded package is not showing up in mentors
On 06/10/15 20:48, Petr Vorel wrote: > Hi there, > > I'm another one who experienced the problem of not being able to upload > package to > mentors.debian.net. I tried several times, wait few days... > > Build and sign package and upload it with > dput mentors ../freerdp_1.1.0~git20140921.1.440916e+dfsg1-6_amd64.changes > I'm building with debuild. > Hi Petr, your package name contains "amd64", suggesting you tried to upload a binary. Mentors is source-based, so it may have been silently rejected. Please try building with debuild -S (capital S results in *only* the source package being built) and then dput the resulting foobar_source.changes file. If I remember correct, the confirm/reject email gets sent to whatever mail address is specified in the gpg key that signed the package, so make sure to use the right gpg key; debuild will by default pick a key matching $DEBEMAIL environment variable, see its manpage for more details if you need to override this. If you now get a reject mail complaning about the gpg key, make sure its added at the /my page of the server. Hope that helps a bit, - Danny
Re: don't use sbuild --dist/-d and other sbuild stuff
Hi, On 31/08/15 15:53, Johannes Schauer wrote: > for the pure purpose of building a source package, having devscripts installed > for debuild is not needed. You can instead use dpkg-buildpackage directly. > Though, if you really just want to build the source package, then even better > than `dpkg-buildpackage -S` is to run `dpkg-source -b .`. The advantage is, > that you do not have to have any packages installed which are necessary to run > the clean target. You probably don't want to install any extra packages like > that on your host if you are using sbuild later anyways. Thank you, didn't know that yet. I'll start using that myself and see if I ever run into any problems. > It must be mentioned that a common problem with sbuild is, that the .changes > file it generates will have a *different* distribution from the one you set in > debian/changelog if you use the --dist or -d option! If sbuild changed the > value of the distribution field in the .changes file, it will do so in *red* > but it is still easy to miss this. Thanks for pointing that one out! I missed that aswell. For *mentors* this is only a minor issue since only the source package will get uploaded later on, but in any case the Handbook should teach how to do it right from the start. Sorry for spreading misinformation. Something that should also go into the mentors wiki is when to use codenames and when to use suite names in changelog (for example we write wheezy-backports rather than stable-backports, but we write unstable insted of sid). If there's already an official document clarifying this, I didn't find it. > Please comment over there if you have a good idea to solve this common > mistake. As soon as I've got something constructive it will be there. >> I would recommend setting up a local (partial) debian mirror to speed up the >> package fetching step, but I've gotten weird "500 invalid header" errors when >> I use apt-cacher-ng, so I'm not recommending this for now. > > I am using apt-cacher-ng as well but I don't think I've encountered HTTP 500 > errors so far. Maybe you can investigate the issue and file a bug? I am investigating, but so far I get them randomly and have not been able to reproduce them reliably. Its either something weird in one of my network components or some kind of race condition, so I'm unable to send any useful bug reports yet. >> The only sbuild configuration line I *strongly* suggest is >> >> $environment_filter = [ ]; >> >> This will ensure that no CXXFLAGS= or similar from your working environment >> contaminate the clean chroot. > > If you think the default should be changed, could you please file a bug > against > sbuild about that? > > Thanks! > > cheers, josch > I should have written that a bit more mentors specific. I believe the default configuration is absolutely fine for the default usecase (buildd/sbuild machine). No bug here. Just for the usecase "Individual developer checking for FTBFS" it may not be what we want: We might have $stuff in environment (think -Wall -g) that might make sense in a programmer's enviroment. But when building a debian package this shouldn't go over to sbuild. I wouldn't touch the system-wide or even default file, this was purely a suggestion for the users' ~/.sbuildrc. Sorry if the wording was ambiguous. - Danny
Re: Questions before my first upload attempt
On 20/08/15 18:33, Thomas Schmitt wrote: - https://wiki.debian.org/DebianMentorsFaq#How_do_I_make_my_first_package.3F Put a package together, built against a current version of sid. I'm on Jessie 8.1. The dependencies of the packages in question are very basic. The package sources are portable to any X/Open compliant system. Tested upstream on very old GNU/Linux, FreeBSD, Solaris, and NetBSD. I understand i have to submit source packages anyway. So is there a way to do my packaging work in Debian 8.1 ? (The PackagingTutorial says i shall write 9 into debian/compat. Is that enough of a sid ?) Else: Is there a shortcut description how to quickly set up Debian package development in a virtual machine and how to keep it up to date ? (Hardware is plenty but my own VM scripts date back to Debian 6.) Hi Thomas, Debian actually has ready-made VM scripts for you. You want to take a look at the sbuild system, it can create a minimal sid tarball chroot-virtualmachine and use it to build packages for you. Using sbuild will be as close as it gets to the official buildd machines, helping you to prevent FTBFS¹. sbuild machines install a bare minimum of packages plus your specified build-dependencies into a throwaway directory, build the package and delete everything except the build log and created .deb, returning to a clean state. Pointer: https://wiki.debian.org/sbuild Once sbuild is setup, you can call either sbuild --dist sid from inside the source directory (quick result, but I wouldn't recommend it) or call debuild -S on your host machine first: This will create a .debian.tar.xz and a (signed) .dsc file in .., then you can call sbuild --dist sid your-package_version.dsc. If that goes through, you know your dsc is good and you can upload it to mentors with dupload --to mentors my.changes. (That's why I recommend this two-step route, since than you have this dsc that built correctly. Btw, the dupload step will check if you signed correctly) For bonus points, if you are on a machine that can chroot different arches (for example amd64 hosts can create a i386 chroot) you can verify it compiles on both. Just call another sbuild-createchroot with --arch i386 and then call sbuild --dist sid --arch i386 my.dsc to build on it. Be warned that in addition to where you store the sbuild-tarball, the schroot system will also need enough space to hold the *unpacked* tarball *plus* all temporary installed packages (build-dependencies) at /var/lib/schroot, so make sure to have 10G space there. - I still did not find a hands-on description of fulfilling the demand of http://mentors.debian.net/intro-maintainers: All packages must be signed with the GnuPG key you configured in your control panel. Set the environment variables DEBNAME=Your Full Name and DEBEMAIL=your@email.address. Then, when you call debuild -S, gpg will automatically be called with the right options, all you have to do is enter your privatekey password : ) http://mentors.debian.net/my has my public key now. I guess this does the necessary configuration. But how to use gpg or other programs to sign the packages ? As GNU maintainer i use on tarballs gpg -o ...sig -u ... on announcement messages gpg --clearsign ... Suspiciously all newbie tutorials for Debian packaging propose to use options -us -uc, which i understand prevent some kind of signing. This is probably since it prevents the gpg-askpass from starting, and personally while testing stuff I also use -uc -us (also good for automated testing, since my privatekey won't be available there). The tutorials should include a little information that -uc -us is not meant for production use. Have fun sbuilding : ) - Danny ¹ Failed To Build From Source. For example, if you don't specify all build-dependencies. Debian buildd/sbuild will also not install Recommended: dependencies [after all, they are allowed to be omitted], but end-user systems will by default. PS: Just a word of warning: If your sid builds fail with strange linker messages having to do with std::__cxx11::something, you're out of luck for now and you've ben hit with the GCC-5/libstdc++6-5 transition. Lets hope it won't come to that though : )
Re: Questions before my first upload attempt
On 21/08/15 15:42, Thomas Schmitt wrote: Well, i need to make some progress with uploading. So i'll go on with the VM for now. I need to learn a bit more about what sbuild does. On the long run it looks cleaner. Hi Thomas, sbuild basically implements what you have started to build in your VM. The main advantage of it is the ...and throw everything away to get a clean starting point, so you have a reproducible and minimal build environment. Also sbuild's basic set of packages does not include an X server. However, you now have a VM containing debian's equivalent of a latest of all open source stuff machine. It can be fun to play around on it, and if you find any bugs in those (not-yet-in-stable) versions, I'm sure the maintainers will greatly appreciate reports. (Just don't depend on sid in the same way as you would on a stable. Have backups.) Which one to install ? dput: /usr/bin/dput dput-ng: /usr/bin/dput My Jessie obviously has dput installed. I have non-ng dput aswell, havn't tried the new one yet. So many branches ... Just to add to the branches: The same thing sbuild does (build in cleanroom chroot to verify build-depends) is also implemented as pbuilder. As an alternative to dput{,-ng}, there is also dupload. I wouldn't say there's a definitive better one, but having more than one tool for the same problem might turn in handy if one has a bug and/or breaks. I ultimately chose sbuild over pbuilder because its what official buildds use. Take a look at man devscripts (package name also devscripts) as an overview of even more little helpers. - Danny
Re: Questions before my first upload attempt
On 21/08/15 13:21, Danny Edel wrote: Once sbuild is setup Just to clarify. In this use case (using sbuild as close to buildd as possible), the steps labeled for personal use in https://wiki.debian.org/sbuild#Configuration are *not* what we want. The Source package will be created by debuild -S on the host machine, and sbuild will *only* build the binary. So the entire (!) series of installation steps is: * (root) apt-get install sbuild * (root) mkdir -p /root/.gnupg * (root) sbuild-update --keygen * (root) sbuild-adduser $YOURUSERNAME logout-relogin or use newgrp sbuild in your current shell. Now to create the chroots: * (root) sbuild-createchroot --make-sbuild-tarball=/var/lib/sbuild --arch amd64 /sid-amd64.tar.gz sid $(mktemp -d) http://httpredir.debian.org/debian * (root) sbuild-createchroot --make-sbuild-tarball=/var/lib/sbuild --arch i386 /sid-i386.tar.gz sid $(mktemp -d) http://httpredir.debian.org/debian Thats it. Note that you can also use wheezy or jessie if you plan on testing backporting to those. From now on, sbuild --dist sid --arch amd64 path/to/my.dsc works. This will implicitly call dist-upgrade, install build dependencies, copy files around and work its magic while you're enjoying your coffee. (Yes, this really can take a while). I would recommend setting up a local (partial) debian mirror to speed up the package fetching step, but I've gotten weird 500 invalid header errors when I use apt-cacher-ng, so I'm not recommending this for now. The only sbuild configuration line I *strongly* suggest is $environment_filter = [ ]; This will ensure that no CXXFLAGS= or similar from your working environment contaminate the clean chroot. - Danny
Re: RFS: Looking for a mentor for my dspdfviewer package
On 05/08/15 17:10, Danny Edel wrote: I won't have it ready today, expect a revised package tomorrow. While going through the changes, I actually stumbled upon a regression, forcing me to release a bugfix/maintenance version v1.13.1 upstream. I used the opportunity to do some cleaning: * Create an upstream changelog. debhelper found it and auto-compressed it without any change to debian/rules or similar. * All the build-system-things in debian/patches that were in upstream/master have been backported into upstream/release, landing in v1.13.1. So now the debian/patches directory is empty and other dists benefit from the cleanups (such as letting the packager decide -g with -DCMAKE_BUILD_TYPE) * The .desktop file is included, and it is in upstream/release aswell. * I could practice importing a new source release and test out the debian/watch file (it works!). I remembered the Only one changelog entry rule and re-wrote debian/changelog, so that its still a fresh package. * The two remaining comments in debian/rules are from me, no more boilerplate copies. * I used the documentation on https://wiki.debian.org/DebugPackage to create a -dbg package, and corrected the lintian errors. - Is there any way I can verify that this -dbg package works correctly? The linked wiki page doesn't list that. * Both source and binary are completely silent with the EvIL lintian command you showed me. So now there's a revised package at http://mentors.debian.net/debian/pool/main/d/dspdfviewer/dspdfviewer_1.13.1-1.dsc It would be good if you could take a final look at it (Now hopefully bug-free). Especially the -dbg part I'm not 100% sure if I added that correctly, or if I messed up $stuff while migrating the debian/ directory to the new version. If everything is in order, please tell me what I have to do to trigger the uploading/inclusion process into official Debian. -- Many thanks again for your mentoring, Danny m...@danny-edel.de deb...@danny-edel.de -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55c360b6.6020...@danny-edel.de
Re: RFS: Looking for a mentor for my dspdfviewer package
Hello Gianfranco, On 06/08/15 16:16, Gianfranco Costamagna wrote: Reading symbols from /usr/bin/dspdfviewer...Reading symbols from /usr/lib/debug/.build-id/c2/c35e6f96f063aff4e0d6e3e644855c31b11a0f.debug...done. Ah yes, it says something like that for me now too, once I install dspdfviewer-dbg. Success! let's wait for unstable/testing to have some people feedbacks While I may be a little bit scared, I'm really looking forward to that part : ) thanks to you for the good package and your nice contribution to Debian! I think the entire open source concept is great - instead of re-inventing the wheel, I could simply link a couple of libraries (which were in Debian) together and create the program I needed. Now I finally managed to give back to that pool, and I hope the program will help someone on their Bachelor thesis or similar presentation, saving them from re-inventing the wheel in turn. I see you did a really good job, and the package was already in a good shape, my suggestions were mostly cosmetic. I have one more suggestion: please consider having an package.install file instead of overriding dh_auto_install, the same for the dh_installdocs (the respective manpages can help you). Those sections were directly cut-and-paste from the Debian wiki at https://wiki.debian.org/DebugPackage. So if there's a better way to handle -dbg packages with debhelper 9, this documentation site should be updated too. It also seems that the CDBS software is designed to do the splitting of main and debug binary package with one command. I will read into CDBS aswell, maybe I can simplify debian/rules by using that. I will report back once I find out more. I guess this will simplify the packaging, but it is a matter of de gustibus. I hope to see your contributions again, I enjoyed your packaging, I hope to see you as Maintainer or Developer one day :) (let me know if you want to work on some packages, I can review them also privately or through the list) cheers! Gianfranco Thank you very much. I wouldn't mind helping out when I can. I'll go through the wnpp list, see if anything I am actively using asks for help, and communicate with you about the details. PS: You don't have to CC me for on-list-mails either, I have debian-mentors subscribed aswell. -- Cheers Danny -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55c375c6.9030...@danny-edel.de
Re: RFS: Looking for a mentor for my dspdfviewer package
both for your input. It improved the quality of my proposed package by a good amount and I'm getting more confidence in the debian package already. -- Danny Edel m...@danny-edel.de deb...@danny-edel.de -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55c1d51c.5090...@danny-edel.de
Re: RFS: Looking for a mentor for my dspdfviewer package
On 05/08/15 11:52, Gianfranco Costamagna wrote: Some issues: 1) please provide a .desktop file if possible I will. 2) it seems to work bad with an external monitor. It splits the pdf half in the main monitor and half in the extended one. I'm attaching a picture. This is working exactly as intended : ) Try the -f / --full-page command-line switch for regular PDFs. The main feature is the double-width thing, since latex-beamer presentations support a Notes to the presenting person mode, where they output a double-width PDF with the actual presentation on the left half, and the notes on the right. The reason I wrote this viewer was that while this is really useful, there was no viewer that actually did this splitting on runtime. Hence dspdfviewer came to life : ) I have created a super basic example at https://github.com/dannyedel/example-beamer-presentations/releases/tag/v0.1 Of course, the \note{} things will be a lot more sophisticated on real presentations, but I think you get the idea. Let me know if you open an RFS bug. I have sent an email to the submit bug, but from my m...@danny-edel.de address. I guess it isn't unblocked yet, but I want to wait for a safe time before I post from deb...@danny-edel.de. I'd rather like to avoid a doublepost. (I can eventually sponsor the package BTW) That would be amazing! Should I even file an RFS bug again then (in case the email doesn't get through)? -- Cheers, Danny m...@danny-edel.de deb...@danny-edel.de -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55c1e408.3060...@danny-edel.de
Re: RFS: Looking for a mentor for my dspdfviewer package
On 05/08/15 12:44, Gianfranco Costamagna wrote: This is working exactly as intended : ) Try the -f / --full-page command-line switch for regular PDFs. ok, I thought this was a bug... BTW I have the main monitor to the left, and the extended to the right, why does it show the opposite order for regular pdfs? If you pass no command-line switch it assumes its a double-width pdf, which has the presenter side on the right and audience on the left. It should™ render the presenter view (with the clocks and the notes) to the primary screen (you can set with xrandr --output XXX --primary), regardless of whether that primary is left or right. This assumes that a presenter will carry his or her notebook to the site, have the internal screen as primary and the external (beamer) as secondary. If this auto-detection fails, hit the S (swap-screens) key on the keyboard. Usually one hour is enough, the mail are processed I guess each 10 minutes or so. Allright. I'm assuming m...@danny-edel.de is still blocked, and will continue to use deb...@danny-edel.de with mailinglists and bugtracker. that would be my first sponsored package, so maybe would be nice to have some other eye on the package, but I guess as soon as I get more confident with the sponsoring and the package is already on unstable/Stretch you can ping me directly. Cool! I have uploaded the changed version (now with .desktop file) and will re-file the RFS from my deb...@danny-edel.de address, unless you find another mistake in it. http://mentors.debian.net/debian/pool/main/d/dspdfviewer/dspdfviewer_1.13-1.dsc -- Cheers, Danny m...@danny-edel.de deb...@danny-edel.de -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55c1f473.7010...@danny-edel.de
Re: RFS: Looking for a mentor for my dspdfviewer package
On 05/08/15 13:53, Gianfranco Costamagna wrote: maybe that s should be put in the manpage somewhere? Well, it is, under the controls section. But I guess that's not really well-placed, since you didn't find it straight away : ) If you have a suggestion on where to place and/or how to re-word the manpage, that would be much appreciated. Since I'm more a developer than a user (and I know the software inside out anyway) its difficult for me to think from a user perspective. BTW another nitpick is the lack of an icon for the application, gnome-shell shows the default missing icon icon. I *would* fix that *if* I had any graphical skills. But I have created an issue in my souce repository, maybe I can find someone™ to imagine something nice. I: dspdfviewer: hyphen-used-as-minus-sign usr/share/man/man1/dspdfviewer.1.gz:118 That's actually quite a cool diagnostic, I will fix that. How did you make lintian tell you that? I ran --display-experimental --fail-on-warnings --info --display-info --pedantic on both source.changes and amd64.changes (from sbuild) and all I got was the no-upstream-changelog. P: dspdfviewer: no-upstream-changelog v1.14 and up will have an upstream changelog in the tarball. The desktop file works correctly, and it lacks of an icon too (not an issue, but it might lead to a bad user experience) Ticket is created, but I can't promise much on the creativity front. other stuff: why do you add ggdb in the cmake file? it should be handled by Debug and RelWithDebInfo (passed by dh IIRC) I did add that in the very start (and seems to have forgotten about it). The reason was that on -CMAKE_BUILD_TYPE=Debug it only added -g (without -ggdb) and thus working with gdb wasnt super useful. I have removed it, since I can always inject CXXFLAGS=-ggdb on my devel machine. and another issue, why do you handle the Debian revision in such a complicated way? what about just using 1.13 instead of 1.13-1 passed as variable to cmake? The reason behind the weird Let the (dist-specific) build system embed a version number was to encode as much information about the system as possible, even if a user just posts dspdfviewer --version to a bug report, a few examples: * 1.13: User built from release tarball (unchanged) * v1.13 or v1.13-xx-gDEADBEEF: user built from a git clone * 1.13-rc0: User built from git (ie. non-release), but deleted .git dir * 1.13-1: Official debian package * 1.13-1~bpo80+: Official debian backport * 1.13+0~20150804124310.32+sid~1.gbpf1ed24: jenkins-debian-glue (Launchpads auto-builders use similar long and detailed version numbers) The last line shows the ultimate Idea behind it: The jenkins-debian-glue, launchpad etc. scripts all modify the debian/changelog to add a version tag that (a) makes sure more recent git versions sort higher, and (b) make sure the debian-revision contains the git version originally built from. My Idea was to clone that magic into dspdfviewer --version. OT: With you pointing me to the -rc0 I left in there, I realized that I actually *added* that (it did say 1.13) before I released 1.13 tarball, thereby failing to distinguish between 1.13 exact and post-1.13. Guess I shot my own foot there, but the idea should™ hold up for 1.14. BTW instead of the export I would prefer something like dh_auto_configure -- -DYOURVAR=YOURVALUE but again, if not necessary you can just use the fallback at line 105 I guess. (maybe after updating it!) For the above reasoning, I would really like to pass the Debian version to the build system. If there is a standard debian way of doing this, I can of course always change the method, it's really all about easily™ creating meaningful bug reports. (If its a problem I can of course remove the stance from the debian/rules entirely) As long as a debian user uses reportbug, I guess that doesn't matter. It is more an issue if I get an email directly, or people post to the github issue tracker. So ultimately, I leave the decision to you whether I strip the inclusion logic. Updated version at http://mentors.debian.net/debian/pool/main/d/dspdfviewer/dspdfviewer_1.13-1.dsc And I will re-send the RFS template from deb...@danny-edel.de, if I read it correctly they will cross-post to debian-mentors automatically. -- Cheers, Danny Edel m...@danny-edel.de deb...@danny-edel.de -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55c21553@danny-edel.de
Bug#794665: RFS: dspdfviewer/1.13-1 [ITP] -- Dual-screen PDF viewer for latex-beamer presentations
Package: sponsorship-requests Severity: wishlist Dear mentors, I am looking for a sponsor for my package dspdfviewer * Package name: dspdfviewer Version : 1.13-1 Upstream Author : Danny Edel m...@danny-edel.de * URL : http://dspdfviewer.danny-edel.de * License : GPL version 2 or, at your option, any later version Section : text It builds those binary packages: dspdfviewer - Dual-Screen PDF Viewer for LaTeX-beamer To access further information about this package, please visit the following URL: http://mentors.debian.net/package/dspdfviewer Alternatively, one can download the package with dget using this command: dget -x http://mentors.debian.net/debian/pool/main/d/dspdfviewer/dspdfviewer_1.13-1.dsc More information about dspdfviewer can be obtained from * https://github.com/dannyedel/dspdfviewer * Sourcecode and issues tracker * http://dspdfviewer.danny-edel.de * Website Changes since the last upload: dspdfviewer is not yet in debian, so there are not really changes yet. However, I initially posted directly to the mailing list and didn't know to file the bug report. This thread can be found on https://lists.debian.org/debian-mentors/2015/08/msg5.html Thanks to the feedback I got in response, the package is much cleaner now and hopefully can be included in Debian. -- Regards, Danny Edel m...@danny-edel.de deb...@danny-edel.de -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55c215a9.8040...@danny-edel.de
Re: RFS: Looking for a mentor for my dspdfviewer package
On 05/08/15 16:15, Gianfranco Costamagna wrote: nope, the manpage is correct, I tried a --help, and I didn't find it (sorry for the confusion) If you have a suggestion on where to place and/or how to re-word the manpage, that would be much appreciated. Since I'm more a developer than a user (and I know the software inside out anyway) its difficult for me to think from a user perspective. that is something always difficult... Maybe the --help can be more similar to the good manpage? :) Right now, --help is simply boost_program_options' default output, which I find pretty nice, especially considering how few option-parsing and help-outputting lines of code I actually had to generate myself. I will add a sentence stating that interactive keybinds are stated in the manpage. For me it feels natural that a program only tells me --command-line-switches on --help, and I will find the rest in the manpage, but an additional pointer can't hurt. The only thing I'd like to avoid is more duplication between --help, man dspdfviewer and website (since one of them always forgets to get updated, and thanks to Murphy, that's the only one the user did read : ) lintian -EvIL +pedantic --profile debian/main ../dspdfviewer_1.13-1_amd64.changes The EvIL pedantic lintian. Shell-aliased to lint now : ) they are always suggestions, so feel free to leave it if you think users might benefit (what about creating a -dbg package? since it is a new package you might benefit from one trip only in the NEW queue) I have never created a -dbg package, but if that helps Debian-users to generate meaningful backtraces -- Who could say no to that : ) I'll revise the source package and work in the -dbg stances. This is equivalent actually for Debian (it will allow you to remove 6 lines from the CMakeFile), but it might be a problem for other Linux based Distro around the globe. Right now, I'm thinking about renaming the env-variable from DEBIAN_PACKAGE_VERSION to DISTRIBUTION_PACKAGE_VERSION or something similar to be cross-distribution, and nicely ask the maintainers of $dist to add some dist-specific postfix to it (I know gentoo has -r1) if they changed any source files. But i guess for now we can use debian/rules to (always) enter if@71. Having one single way to feed the version might be a benefit for everybody v1.14 will have that most likely (less cruft wins) : ) BTW the new rules file is what I intended previously, and makes lines 91:96 useless now :) (not asking you to remove, just pointing that to you). Last thing: d/rules, lines 2 to 8, I guess you can remove them I will. Just seemed like a boilerplate keep it in there, but since it says itself without restrictions I guess it's best to delete boilerplate comments so you only have to read the ones actually from me. let me know about the last two things (specially for the dbg package, that is something important) and I'll do the upload I will make the dbg package (didnt know about that), so please don't upload just yet. I won't have it ready today, expect a revised package tomorrow. -- Cheers, Danny -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55c22750.4070...@danny-edel.de
Re: RFS: Looking for a mentor for my dspdfviewer package
Hello Riley, thank you for listing those things! I will comment on each of your points inline, I hope that's okay. On 04/08/15 00:02, Riley Baird wrote: Hi Danny, I'm not a DD, so I can't sponsor your package, but I had a look and here are some things that I noticed: d/changelog: -Since the package hasn't been uploaded to Debian yet, you should only have one changelog entry; you should get rid of version 1.13-2. Done. Only version is 1.13-1 d/compat: -Have you considered upgrading to debhelper 9? Tried that now, thank you for the suggestion! Reading up on hardening, requiring recent debhelper allowed me to drop quite a lot of lines from debian/rules aswell since it includes the cmake workaround. d/control: -Priority should be optional. Done. d/docs: -You could add INSTALL and README.md to this file I tried that, but then lintian complained on the binary package containing an INSTALL file. Only README.md is included now. d/manpages: -You don't need this file. File deleted. d/README: -You don't need this file. File also deleted. General: -If m...@danny-edel.de isn't being accepted by the Debian mailing lists, you can get whitelisted by subscribing to this list: https://lists.debian.org/whitelist/ Thanks! I've written my email inside there. Until I hear from them, I will mail as deb...@danny-edel.de to the mailinglist (just to be safe). My email address in the package is now m...@danny-edel.de, as I use everywhere else. -Seeing as you're upstream, you should be able to fix the lintian error debian-watch-may-check-gpg-signature Done, I hope. I locally created a fresh tar.gz from my signed git tag and detach-sign'd it, and mirrored the resulting asc to github. So far, their tarball matches : ) Could you take a look at the debian/watch file? Those opts and regexes twisted my mind a bit, not sure if I have done that right. -Also seeing as you're upstream, in future releases you might consider fixing no-upstream-changelog. You don't have to do that now, though. :) I will. Good luck getting your package into Debian, Riley Baird Thanks : ) Could you also take a look at the revised version? Its at http://danny-edel.de/deb/pool/main/d/dspdfviewer/dspdfviewer_1.13-1.dsc That would be amazing. I also tried to upload this to mentors with $ dupload --to mentors dspdfviewer_1.13-1_source.changes and it gave me the following error in an email: Hello, Unfortunately your package dspdfviewer was rejected because of the following reason: Your upload does not contain a valid signature. Output was: gpg: Signature made Di 04 Aug 2015 11:32:53 UTC using RSA key ID 7183343C gpg: Can't check signature: public key not found Please try to fix it and re-upload. Thanks, Do you know where I have to send my public key, so that mentors finds it? Thank you again for helping me. -- Danny Edel m...@danny-edel.de -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55c0adc7.6080...@danny-edel.de
RFS: Looking for a mentor for my dspdfviewer package
Dear Debian mentors, I have created a debian package for my project dspdfviewer, a dual-screen pdf viewer specifically made for LaTeX-Beamer presentations. I have been programming and maintaining this since winter 2012/2013, and I believe it is stable and mature enough now to be included in Debian. I have filed an Intent To Package (Debian Bug #794319) and in the meantime I have tried my best to create a proper debian package. It is available for download at [my server] and now compiles cleanly and without lintian warnings on sid (I have tested amd64 and i386 in sbuild'ers, but I don't have access to other architectures) I can also try to upload the package into the mentors service, if that is preferred. This is my first attempt at an official Debian package, so I expect I will have done quite a bit wrong, so please point me to mistakes and I will do my best to remedy them. From https://wiki.debian.org/DebianMentorsFaq#Sponsored_Packages Name of the package dspdfviewer The licence the package is provided under GPL version 2 or, at your option, any later version Short and long descriptions of the package dspdfviewer - Dual-Screen PDF Viewer for latex-beamer presentations (the following long description is the one I use inside the package) This is a specialized PDF Viewing application custom-made for the LaTeX class beamer, specifically the show notes on second screen=right option. . To make use of this program, you will need a document created by latex-beamer, and you will need two monitors connected to your computer. They do not need to have the same resolution, not even the same aspect ratio. . This program will split your PDF page in half, and display the left half (intended for the audience) on one monitor (think: a notebook's VGA output connected to your university's projector) and it will display the right half (intended for you) on the second screen. Also, on the second screen, you get page thumbnails and status information, like the time since you started the presentation and a wall clock. Where the package can be obtained from Download from [my server] or if that is better I will also post it to debian mentors server. [my server]: http://danny-edel.de/deb/pool/main/d/dspdfviewer/dspdfviewer_1.13-2.dsc Thank you in advance for your time and help. --- Danny Edel m...@danny-edel.de deb...@danny-edel.de (Debian's mailing list software rejects mail from m...@danny-edel.de) -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55bcd034.5030...@danny-edel.de
Re: Dropping debian/ directory vs Continuous Integration / daily-debs
On 31/07/15 23:16, Jakub Wilk wrote: Hi Danny! * Danny Edel deb...@danny-edel.de, 2015-07-31, 22:51: I wanted to ask for an inclusion in debian, but the policy says that even if I'm upstream myself, I'm not supposed to have a debian/ directory at all. There is no such policy. debian/ in .orig.tar might be slightly annoying for the Debian maintainer, but that's it. Hello Jakub, thank you for the clarification! I must have read this wrong. I will work through the documentation again and (hopefully) end up with a policy-compilant package with which I can ask for sponsorship. Thanks again! -- Danny -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55bc873f.9090...@danny-edel.de
Dropping debian/ directory vs Continuous Integration / daily-debs
Dear Debian mentors, I hope this is the right place to ask this kind of question. If it's not, a pointer in the right direction would be much appreciated. I have programmed a software called [dspdfviewer], and I feel its reasonably stable and usable (it is acquiring a growing userbase, judging from the feedback I get by e-mail and github) now to be included in distributions. Since I'm a long-time user of debian myself, i created it as a debian package pretty much from the start, learning and using tools like mk-build-deps, debuild and sbuild, and now I have automated builds with [jenkins-debian-glue] and github, telling me failures on each revision. (Jenkins builds the same source against wheezy, jessie and sid). A similar mechanic hosted by canonical auto-builds from the repository for all of ubuntu's supported releases. This allows (a) users that want to try new features to do that without having to compile themselves, and (b) gives me good feedback that I have not broken any compatibility. I wanted to ask for an inclusion in debian, but the policy says that even if I'm upstream myself, I'm not supposed to have a debian/ directory at all. So I have not filed an official request for inclusion yet. Since I can't find any documentation on how other people do this, maybe you can help me: If I don't have a debian/ directory in my git repository, how do I verify that each revision builds cleanly in a chroot? And how do people integrate with CI server like jenkins (the debian-glue specifically states that it needs a debian/ directory). Thank you very much in advance for your help, Danny [dspdfviewer]: https://github.com/dannyedel/dspdfviewer [jenkins-debian-glue]: http://jenkins-debian-glue.org/ -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/55bbdfb8.1040...@danny-edel.de