Bug#797213: wheezy-pu: package partconf/1.40+deb7u1

2015-08-30 Thread Adam D. Barratt
Control: tags -1 + pending

On Sat, 2015-08-29 at 09:00 +0100, Adam D. Barratt wrote:
 Control: tags -1 + confirmed
 
 On Fri, 2015-08-28 at 17:40 +0200, Cyril Brulebois wrote:
  A fix for a very old bug was committed during the jessie release
  cycle, but I had been initially reluctant to pushing it for a point
  release as it had received little testing. It's been a very long time
  now, and I'm not aware of related regressions, so let's go for it?
  
  Changelog entry:
  | partconf (1.40+deb7u1) wheezy; urgency=low
  | 
  |   [ Milan Kupcevic ]
  |   * Exclude CD/DVD drives from partition search. (thanks, Frank Fegert)
  | Closes: #332227
 
 Please go ahead.

Uploaded and flagged for acceptance.

Regards,

Adam



Bug#797213: wheezy-pu: package partconf/1.40+deb7u1

2015-08-29 Thread Adam D. Barratt
Control: tags -1 + confirmed

On Fri, 2015-08-28 at 17:40 +0200, Cyril Brulebois wrote:
 A fix for a very old bug was committed during the jessie release
 cycle, but I had been initially reluctant to pushing it for a point
 release as it had received little testing. It's been a very long time
 now, and I'm not aware of related regressions, so let's go for it?
 
 Changelog entry:
 | partconf (1.40+deb7u1) wheezy; urgency=low
 | 
 |   [ Milan Kupcevic ]
 |   * Exclude CD/DVD drives from partition search. (thanks, Frank Fegert)
 | Closes: #332227

Please go ahead.

Regards,

Adam



Bug#797213: wheezy-pu: package partconf/1.40+deb7u1

2015-08-28 Thread Cyril Brulebois
Package: release.debian.org
Severity: normal
Tags: wheezy
User: release.debian@packages.debian.org
Usertags: pu

[ cc: debian-b...@lists.debian.org, mi...@physics.harvard.edu ]

Hi,

A fix for a very old bug was committed during the jessie release
cycle, but I had been initially reluctant to pushing it for a point
release as it had received little testing. It's been a very long time
now, and I'm not aware of related regressions, so let's go for it?

Changelog entry:
| partconf (1.40+deb7u1) wheezy; urgency=low
| 
|   [ Milan Kupcevic ]
|   * Exclude CD/DVD drives from partition search. (thanks, Frank Fegert)
| Closes: #332227
| 
|  -- Cyril Brulebois k...@debian.org  Fri, 28 Aug 2015 17:31:58 +0200

and patch attached.

Thanks for your time.

Mraw,
KiBi.
diff -Nru partconf-1.40/debian/changelog partconf-1.40+deb7u1/debian/changelog
--- partconf-1.40/debian/changelog	2012-10-20 18:12:50.0 +0200
+++ partconf-1.40+deb7u1/debian/changelog	2015-08-28 17:32:02.0 +0200
@@ -1,3 +1,11 @@
+partconf (1.40+deb7u1) wheezy; urgency=low
+
+  [ Milan Kupcevic ]
+  * Exclude CD/DVD drives from partition search. (thanks, Frank Fegert)
+Closes: #332227
+
+ -- Cyril Brulebois k...@debian.org  Fri, 28 Aug 2015 17:31:58 +0200
+
 partconf (1.40) unstable; urgency=low
 
   [ Updated translations ]
diff -Nru partconf-1.40/find-parts.c partconf-1.40+deb7u1/find-parts.c
--- partconf-1.40/find-parts.c	2011-01-19 05:53:21.0 +0100
+++ partconf-1.40+deb7u1/find-parts.c	2015-08-28 17:31:52.0 +0200
@@ -113,6 +113,60 @@
 fclose(fp);
 }
 
+/**
+ * Determine if a device is a CD-ROM/DVD based on major/minor device
+ * number. Based on information from Linux's Documentation/devices.txt.
+ */
+bool
+is_cdrom(const char * const device_name)
+{
+struct stat st;
+
+if (stat(device_name, st) != 0)
+return false;
+
+switch (major(st.st_rdev)) {
+case 11: /* SCSI CD-ROM devices */
+case 113: /* Parallel port ATAPI CD-ROM devices */
+return true;
+default:
+break;
+}
+
+if (minor(st.st_rdev) == 0) {
+switch (major(st.st_rdev)) {
+case 15: /* Sony CDU-31A/CDU-33A CD-ROM */
+case 16: /* GoldStar CD-ROM */
+case 17: /* Optics Storage CD-ROM */
+case 18: /* Sanyo CD-ROM */
+case 20: /* Hitachi CD-ROM */
+case 23: /* Mitsumi proprietary CD-ROM */
+case 24: /* Sony CDU-535 CD-ROM */
+case 29: /* Aztech/Orchid/Okano/Wearnes CD-ROM */
+case 30: /* Philips LMS CM-205 CD-ROM */
+case 32: /* Philips LMS CM-206 CD-ROM */
+return true;
+default:
+break;
+}
+}
+
+if (minor(st.st_rdev) = 0  minor(st.st_rdev) = 3) {
+switch (major(st.st_rdev)) {
+case 25: /* First Matsushita (Panasonic/SoundBlaster: CD-ROM */
+case 26: /* Second Matsushita (Panasonic/SoundBlaster: CD-ROM */
+case 27: /* Fourth Matsushita (Panasonic/SoundBlaster: CD-ROM */
+case 28: /* Third Matsushita (Panasonic/SoundBlaster: CD-ROM */
+case 46: /* Parallel port ATAPI CD-ROM devices */
+return true;
+default:
+break;
+}
+}
+
+return false;
+}
+
 #ifndef FIND_PARTS_MAIN
 int
 block_partition(const char *part)
@@ -182,6 +236,8 @@
 continue;
 if (strstr(dev-path, /dev/mtd) == dev-path)
 continue;
+if (is_cdrom(dev-path))
+continue;
 if (!ped_disk_probe(dev))
 continue;
 disk = ped_disk_new(dev);